DataKeyNamespace属性:获取或设置一个数组,该数组中包含了显示 在GridView控件中的项的主键字段的名称。
DataKeys属性:获取一个DataKey对象集合,这些对象表示GridView控件中的每一行的数据的键值。
例如: 当要删除或修改GridView中的某一行信息时,需要获取当前行的关键字段的值,依据这个值在数据库中操作相应的字段。那么,如何获取这个关键字段的值?利用GridView的DataKeys、DataKeyName属性可以完成。
1. 在Gridview绑定数据时,设置DataKeyName属性的值。
gvwUnit.DataSource = dtUnit;
gvwUnit.DataKeyNames = new string[] { "UnitId" };
gvwUnit.DataBind();
2. 获取当前行的主键值
int intUnitId = Convert.ToInt32(gvwUnit.DataKeys[e.RowIndex]["UnitId"]);
经过上面两步操作,就可以得到某条记录的关键字段值了。总的流程就是先绑定,然后再获取。在绑定数据源的同时将关键字段在数据库中的字段名绑定到DataKeyNames属性中,在用的时候通过DataKeys获取。DataKeyNames和DataKeys的关系:DataKeyNamespace是关键字段的字段名,DataKeys是具体的值。