RowIndex和DataItemIndex有什么区别?

时间:2011-05-17 15:10:17

标签: asp.net gridview rowdatabound

gridview’s RowDataBound事件中,e.Row.RowIndexe.Row.DataItemIndex属性。
请告诉我容易理解的答案,他们之间有什么区别?
 在哪种情况下我们应该使用哪一个?

4 个答案:

答案 0 :(得分:7)

使用DataItemIndex属性确定基础DataSet中DataItem的索引 使用RowIndex属性确定GridView控件的Rows集合中GridViewRow对象的索引。

答案 1 :(得分:4)

e.Row.RowIndex返回当前正在绑定的行的索引

e.Row.DataItemIndex包含当前正在绑定的行的所有数据索引。

答案 2 :(得分:3)

DataItemIndex是底层DataSet中DataItem的索引。是

RowIndex是底层GridView中Row的索引。是

但存在很大差异

例如,如果你的girdview的页面大小为10行,那么你的RowIndex对于每个页面总是0-9,但是当你去其他页面时,DataItemIndex会有所不同,例如PageIndex 2,3,4 ... On第2页DataItemIndex将介于10-19之间,但RowIndex仍为0-9。

答案 3 :(得分:2)

差别可能是“e.Row.DataItemIndex”仅适用于DataItem;表示此属性仅适用于数据行,其中“e.Row.RowIndex”可用于数据行,标题行等。

RowIndex是渲染表中当前可见的行。 DataItemIndex是实际项目的索引;它们都会在当前显示的记录集中显示记录的索引。