如题!主要是实现一开始不显示----当编辑的时候显示此列,编辑完毕后继续隐藏
解决方案 »
- GridView1的DataSourceID这个属性怎么用,
- c#或者java调用飞信
- asp.net web中条形码(Barcode)怎么用
- 请问如何为某个特定文件夹里的页面设置loginUrl?
- 技术呀,咋靠你吃饭呢
- 一个快被折磨死了的恨之入骨的小问题,大家肯定见过.分不多,在线揭帖.
- 请问各大门户网站的webservice短信接口是什么?
- 一个怪控件的用法
- 大侠 请问 DataGrid 可以几行记录显示超链接,几行记录不显示超链接吗?如何解决? 谢谢
- vs2010 添加用户自定义控件卡屏
- c#如何解密disuz7.0的cookie
- .net中关于Excel导出的问题及解决办法.希望对大家有用.
代码如下:
<asp:TemplateField>
<EditItemTemplate>
<asp:TextBox ID="txtEffectName" runat="server" Text='<%#Eval("EffectName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
</ItemTemplate>
</asp:TemplateField>
注:在GridView中必须绑定表的主键ID DataKeyNames="EffectId"
2. 当编辑的时候 在 RowEditing事件中
找到模板中那个的控件 成功例子:
//编辑
protected void GridView_ProductEffect_RowEditing(object sender, GridViewEditEventArgs e)
{
//找到编辑的模板列
this.GridView_ProductEffect.EditIndex = e.NewEditIndex;
bindProductEffect();//绑定数据源
}
3.在更新的事件 RowUpdating事件中
//更新
protected void GridView_ProductEffect_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int pid = Convert.ToInt32(this.GridView_ProductEffect.DataKeys[e.RowIndex].Value);
Product_Effect pe = Product_EffectUtility_Sup.GetById(pid, false);
string EffectName = ((TextBox)this.GridView_ProductEffect.Rows[e.RowIndex].Cells[1].FindControl("txtEffectName")).Text.ToString();
pe.EffectName = EffectName;
Product_EffectUtility_Sup.Update(pe);
Response.Write(string.Format(JsHelper.WINALERTSCRIPT, "更新成功!"));
this.GridView_ProductEffect_RowCancelingEdit(null,null);
bindProductEffect(); //绑定数据源
}
-----------------这样就能够实现了!------------------------
//取消编辑
protected void GridView_ProductEffect_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
this.GridView_ProductEffect.EditIndex = -1;
bindProductEffect();
}
wuxiupeng
(狼)
谢谢你代码不过貌似没有回答我的问题,
要动态[显示/隐藏]指定的列【页面刚开始不显示此列,编辑的时候显示此列,编辑完毕时 再次隐藏此列】
不是这样吗?
在单击修改时,在这个方法里面设置你需要修改的行中的原来隐藏的列再显示就行了。
只给了思路,源代码自己去写吧!
除了这位说话不看的题的人 各位网友的回答我非常感谢,其实是很简单, chenjianyong94 回答的很简答 但是我最终实现也就是这样的思路如下: //在绑定数据的时候传入hd_flag标志,让css控制指定列的隐藏于显示
if (hd_flag == "Y")
{
GridView1.Columns[3].ItemStyle.CssClass = "diply";
GridView1.Columns[3].FooterStyle.CssClass = "diply";
GridView1.Columns[3].HeaderStyle.CssClass = "diply";
}
else
{
GridView1.Columns[3].ItemStyle.CssClass = "hiden";
GridView1.Columns[3].FooterStyle.CssClass = "hiden";
GridView1.Columns[3].HeaderStyle.CssClass = "hiden";
}