2011-05-17 14 views
6

gridview’sRowDataBound事件具有e.Row.RowIndexe.Row.DataItemIndex屬性。
請告訴我容易理解的答案,它們之間有什麼區別?
在哪種情況下我們應該使用哪一種?RowIndex和DataItemIndex有什麼區別?

回答

6

使用DataItemIndex屬性來確定基礎數據集中DataItem的索引。
使用RowIndex屬性可確定GridView控件的Rows集合中的GridViewRow對象的索引。

+0

對於girdview中的特定行,這兩者的值是相同還是不同? – jams 2011-05-17 15:36:23

+1

不要混淆「DataItemIndex」是「DataSet」的屬性,「RowIndex」是Giridview的屬性。 – jams 2011-05-17 16:10:02

+2

如果您使用分頁,它們是不同的。然後'DataItemIndex'將從第一頁的開始處返回索引,並且'RowIndex'將給你在該特定頁面上的索引。如果你想在'RowCommand'事件中使用數據項,這是非常重要的。 – Episodex 2012-05-10 14:31:02

4

e.Row.RowIndex回報,目前正在結合

e.Row.DataItemIndex行的指標包含目前正在結合行的所有數據的索引。

+0

對於girdview中的特定行,它們的值是相同還是不同? – jams 2011-05-17 15:36:11

+0

他們可能有不同的指數。你只需要瞭解如何和在哪裏可以使用的邏輯。 – 2011-05-17 15:44:54

2

那麼差異可能是「e.Row.DataItemIndex」僅適用於DataItem; means此屬性僅適用於「e.Row.RowIndex」可用於數據行,標題行等的數據行。

RowIndex是呈現表中的當前可見行。 DataItemIndex是實際項目的索引;他們都會在當前顯示的記錄集中顯示記錄的索引。

+0

對於girdview中的特定行,它們的值是相同的還是不同的? – jams 2011-05-17 15:36:36

3

DataItemIndex是底層數據集中DataItem的索引。是

RowIndex是底層GridView中Row的索引。 YES

但是有多大區別

例如,如果你的girdview有10行的頁面大小,然後你的rowIndex始終是0-9的每一頁,但DataItemIndex將是不同的,當你將去其他頁面如PageIndex 2,3,4 ...在第2頁上,DataItemIndex將在10-19之間,但RowIndex仍然是0-9。