十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
方法一:利用新的属性DataKeys和DataKeyNames
成都网络公司-成都网站建设公司成都创新互联10多年经验成就非凡,专业从事成都网站设计、网站制作,成都网页设计,成都网页制作,软文发布平台,广告投放平台等。10多年来已成功提供全面的成都网站建设方案,打造行业特色的成都网站建设案例,建站热线:18982081108,我们期待您的来电!
利用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:
随后在GridView的列编辑对话框中,对需要进行隐藏的列进行设置,分别设置FootStyle,HeaderStyle,ItemStyle的CssClass属性为“hidden” Ok,这样我们就实现了隐藏列的目的,同时又能保证对其进行数据绑定。
参考资料: 如何获取gridview隐藏列的值 http://www.studyofnet.com/news/291.html