GridView控件用DataKeyNames属性设置主键字段的名称,其可以是一个数组,无DataKeysField属性
DataList控件用DataKeysField属性指定或者设置数据源中键字段,无DataKeysNames属性
都用DataKeys属性获取属性值
dgv.DataSource = 源数据;
dgv.DataKeyNames = new string[] { id }; //将数据库中表的主键字段放入GridView控件的DataKeyNames属性中:
或者采用如下方法设置GridView的主键:
string[] dataKeyName = new string[1];
dataKeyName[0] = "employeeID";
this.GridView1.DataKeyNames = dataKeyName;
dgv.DataBind(); //绑定数据库表中的数据;
及方法:this.GridView1.DataKeyNames = new string[] { "field1","field2","field3"};
取值:
string stuID = this.gridview1.DataKeys[e.RowIndex].Values[0].ToString();////获取本行主键其中为0为关键字所在的列序数,其中e.RowIndex为未对应此行的索引号。
若用模板时,如下:
for (int i = 0; i < this.gvProgram.Rows.Count; i++)
{
ID = this.gridview1.DataKeys[i].Value.ToString(); //获取第i行的主键字段值
}
DataList的DataKey属性
DataList1.DataSource=源数据;
DataList1.DataKeysField="新闻ID";
DataList1.DataBind();
然后在dataList_itemdatabound事件下:
int id=(int)DataList1.Datakeys[e.item.itemindex];这就是你想要的ID1
若用模板时:例如:
for (int i = 0; i < this.dlJudge.Items.Count; i++)
{
ID = (int)this.DataList1.DataKeys[i]; //注意区别:DataList中DataKeys无value属性。
}
本文介绍ASP.NET中GridView与DataList控件如何设置主键字段,包括使用DataKeyNames和DataKeysField属性的方法,并展示了如何通过DataKeys获取主键值。

2743

被折叠的 条评论
为什么被折叠?



