获取采用模板列的GridView中的隐藏列中的值
2011-11-27 00:34
239 查看
好像是在用.NET 2003时,当设置GridView的某一列的Visible=false, 在获取输入时,仍然能够获取到GridView其他隐藏列的值,现在我用的是VS2010,用同样的方法已经获取不到隐藏列的值了,貌似是新的GridView的Visible设置为false时,数据就不一起绑定到前台。采取下面的方法可以解决这个问题。
在创建行的时候,将不需要显示的单元格隐藏,即在RowCreated事件中设置单元格隐藏
PS:当在GridView即设置了绑定域(BoundField)又设置了模板列,可以使用以下方法获得模板列中的值
如果BoundField的值为“”则所获得的是 需要过滤掉
在创建行的时候,将不需要显示的单元格隐藏,即在RowCreated事件中设置单元格隐藏
protected void grvTest2_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) //我这里是用的自定义表头,如果是自动生成的表头,需要再判断一下 { ///在绑定时隐藏不需要的列 //注:此种方式隐藏可以获得隐藏列的值 e.Row.Cells[1].Visible = false; } }
PS:当在GridView即设置了绑定域(BoundField)又设置了模板列,可以使用以下方法获得模板列中的值
如果BoundField的值为“”则所获得的是 需要过滤掉
protected void grvTest2_RowUpdating(object sender, GridViewUpdateEventArgs e) { ArrayList alData = new ArrayList() for(int i=0;i<grvTest2.Columns.Count; i++) string x = "TextBox" +(i+1).ToString();//这里只取第一列的值 if (grvTest2.Rows[e.RowIndex].FindControl(x) != null) { alData.Add(((TextBox)grvTest2.Rows[e.RowIndex].FindControl(x)).Text.ToString().Trim()); } else { //过滤掉从不可编辑列得来的 alData.Add(grvTest2.Rows[e.RowIndex].Cells[i + 2].Text.Equals(" ") ? string.Empty : grvTest2.Rows[e.RowIndex].Cells[i ].Text.ToString()); } }
相关文章推荐
- GridView模板里获取LinkButton的值(原)
- Gridview模板列中DropDownList的SelectedIndexChanged事件中如何获取行号
- C#如何获取gridview模板列的值
- Gridview 获取隐藏列中绑定值方法
- 获取GridView中的各模板中的控件
- GridView模板列中的TextBox的ontextchanged事件中获取当前行的某列
- 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题
- 如何获取GridView隐藏列的值
- GridView 模板列 在后台获取该行某控件的值 例如批量修改
- 获取GRIDVIEW模板列中的控件所在的行
- GridView获取隐藏列的值
- js获取gridview模板列中textbox行列的值
- GridView 模板列 在后台获取该行某控件的值 例如批量修改
- GridView使用技巧之:如何在RowCommand里获取模板列里绑定的内容?
- aspxgridview中获取焦点行的模板里的asptextbox中的值
- 获取GridView隐藏列值【转】
- 如何获取AspXGridView模板中的RadioButtList控件的选中值
- GridView 模板列超链接 打开弹出窗口 隐藏地址栏
- 获取某行的字段ID值(GridView模板列)
- ASP.NET DEMO 7: 解决无法获取 GridView 隐藏列值问题