【发布时间】:2011-05-17 15:10:16
【问题描述】:
在gridview’s RowDataBound 事件中具有e.Row.RowIndex 和e.Row.DataItemIndex 属性。
请用通俗易懂的答案告诉我,它们之间有什么区别?
在什么情况下我们应该使用哪一个?
【问题讨论】:
标签: asp.net gridview rowdatabound
在gridview’s RowDataBound 事件中具有e.Row.RowIndex 和e.Row.DataItemIndex 属性。
请用通俗易懂的答案告诉我,它们之间有什么区别?
在什么情况下我们应该使用哪一个?
【问题讨论】:
标签: asp.net gridview rowdatabound
使用DataItemIndex 属性确定基础数据集中的数据项的索引。
使用 RowIndex 属性确定 GridViewRow 对象在 GridView 控件的 Rows 集合中的索引。
【讨论】:
DataItemIndex是DataSet的财产,RowIndex是Giridview的财产。
DataItemIndex 将从第一页的开头返回索引,RowIndex 将为您提供该特定页面的索引。如果您想在RowCommand 事件中使用数据项,这一点非常重要。
e.Row.RowIndex返回当前绑定行的索引
e.Row.DataItemIndex 包含当前绑定的行的所有数据索引。
【讨论】:
DataItemIndex 是底层DataSet 中DataItem 的索引。是的
RowIndex 是底层 GridView 中 Row 的索引。是的
但是差别很大
例如,如果您的 girdview 的页面大小为 10 行,那么每个页面的 RowIndex 始终为 0-9,但是当您转到其他页面时 DataItemIndex 会有所不同,例如 PageIndex 2,3,4 ... On第 2 页 DataItemIndex 将在 10-19 之间,但 RowIndex 仍为 0-9。
【讨论】:
不同之处可能在于“e.Row.DataItemIndex”仅适用于 DataItem;表示此属性仅适用于数据行,其中“e.Row.RowIndex”可以用于数据行、标题行等。
RowIndex 是渲染表中当前可见的行。 DataItemIndex 是实际项目的索引;它们都会在当前显示的记录集中显示记录的索引。
【讨论】: