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 来获取当前选中行的行号
原文地址:https://www.cnblogs.com/ZkbFighting/p/8509002.html