GridView1.DataKeys[e.RowIndex].Value 是什么含义?

https://zhidao.baidu.com/question/88518619.html
举个例子来说吧 你将一个student表绑定到grid上 这个表里有一些字段 包括id 姓名 学号 等等等等
grid的DataKey 属性设置了 datakey=“学号”
下边开始解释问题:

GridView1.DataKeys是什么? 

GridView有一个属性是DataKey  当将数据表绑定到GridView时,设置数据表的一列为DataKey  即GridView.datakey=“学号”
msdn讲DataKey解释为  获取 DataKeyCollection 对象,它存储数据列表控件中每个记录的键值。 
其实 就是将 [学号] 这列作为列关键字 列标识 

 

e.RowIndex是什么含义? 

能够使用e.rowindex 说明 应该是grid的row相关事件  其中的e就是事件的触发者 也就是当前行 e.rowindex 也就是当前行的索引 行号 第几行的“几”

 

GridView1.DataKeys[e.RowIndex]是一个数组吗? 

GridView1.DataKeys是一个数组 存储的是数据表中的一列的值  这一列 就是设为DataKeys的一列 即[学号]这一列 
GridView1.DataKeys[e.RowIndex]则是学号这一列这个数组中的一个值  索引为当前行的行号  
也就是说GridView1.DataKeys[e.RowIndex]是当前行所对应的数据行这一行 的 学号这个datakey

 

GridView1.DataKeys[e.RowIndex].Value是什么? 

这里就是当前行所对应的数据行这一行 的 学号这个datakey 所存储的值 即当前选择这个学生的学号

 

GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()与GridView1.DataKeys[e.RowIndex].Value.ToString() 的区别 

是不同事件中获取当前选中行行号的不同方法  
在grid的行相关事件中  可以直接用e来得到当前行 
但是在非grid行事件中 作为e的事件触发对象就不是行 所以要用GridView1.SelectedIndex 来获取当前选中行的行号

 

posted @ 2018-03-05 14:57  ProZkb  阅读(1347)  评论(0编辑  收藏  举报