日期:2014-05-18  浏览次数:20500 次

DataGrid在编辑模式下怎么取不可见的列的值
我的DataGrid的第一列是ID,也就是数据库中作为标识的那列,所以是不能被编辑的。我把这列设置为不可见。
那么问题就出来了,我在编辑模式下,用原来的取值方法得不到他的值。
原来用的e.Item.Cells[0].Text取不到他的值。
然后发现把这列设置成可见后((TextBox)e.Item.Cells[0].Controls[0]).Text可以取到,但是这列不能被修改啊。
我该怎样在编辑模式下取他的值呢?

------解决方案--------------------
DataGrid 应该是不存在此问题, GridView 存在

主键,就考虑使用 DataKey

<asp:datagrid DataKeyField= "ID " ...


int id = (int)DataGrid1.DataKeys[e.Item.ItemIndex];
------解决方案--------------------
DataKeyField这个设置的是主键?只能设置一个老?

=========

DataGrid 只支持一个,ASP.NET 2.0 中的 GridView 可以支持多个

DataGrid 要实现多个隐藏值,可以通过隐藏列,或者模板内中嵌入隐藏域控件,然后访问读取控件