方法一:利用新的属性DataKeys和DataKeyNames
利用DataKeyNames,可以设置一个多个列,用于作为行的主键字段(这里用主键其实不太合适,因为值时允许重复的),之后利用DataKeys旧可以访问这些列的值了。因此,利用这两个新属性,我们就可以继续使用利用列的Visible属性设置来隐藏列的同时,又可以访问隐藏列的值了。
代码如下:
GV.Columns[5].Visible = false;//设置第6列为隐藏 //只需要在设置列为隐藏的地方多加一段代码: GV.DataKeyNames = new string[] { "stateid_O2" }; //假设第六列的列名为stateid_O2 protected void GV_UpdateData_RowDataBound(object sender, GridViewRowEventArgs e) { if (GridView_UpdateData.DataKeys[e.Row.DataItemIndex]["stateid_O2"].ToString() == "1") //利用这个DataKeys属性来访问隐藏列的值 { e.Row.Cells[2].BackColor = System.Drawing.Color.Red;//设置行中第三个单元格背景色为红色 } }
方法二:利用客户端代码来隐藏列
首先需要一个css:
<style type="text/css"> .hidden {}{ display:none;} </style>
随后在GridView的列编辑对话框中,对需要进行隐藏的列进行设置,分别设置FootStyle,HeaderStyle,ItemStyle的CssClass属性为“hidden” Ok,这样我们就实现了隐藏列的目的,同时又能保证对其进行数据绑定。
参考资料: 如何获取gridview隐藏列的值 http://www.studyofnet.com/news/291.html