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属性。
}
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow