gridview’s
RowDataBound
イベントにはとe.Row.RowIndex
プロパティe.Row.DataItemIndex
があります。
わかりやすい答えで教えてください、違いは何ですか?
どのような状況でどの状況を使用する必要がありますか?
4 に答える
プロパティを使用DataItemIndex
して、基になるDataSet内のDataItemのインデックスを決定します。
このプロパティを使用してRowIndex
、GridViewコントロールのRowsコレクション内のGridViewRowオブジェクトのインデックスを決定します。
e.Row.RowIndex
現在バインド中の行のインデックスを返します
e.Row.DataItemIndex
現在バインド中の行のすべてのデータインデックスが含まれます。
DataItemIndexは、基になるDataSet内のDataItemのインデックスです。はい
RowIndexは、基になるGridViewのRowのインデックスです。はい
しかし、大きな違いがあります
たとえば、グリッドビューのページサイズが10行の場合、各ページのRowIndexは常に0〜9ですが、PageIndex2,3,4などの他のページに移動する場合はDataItemIndexが異なります...2ページ目DataItemIndexは10〜19の間になりますが、RowIndexは0〜9のままです。
違いは、「e.Row.DataItemIndex」がDataItemにのみ適用されることです。つまり、このプロパティはデータ行にのみ適用されますが、「e.Row.RowIndex」はデータ行、ヘッダー行などに適用できます。
RowIndexは、レンダリングされたテーブルで現在表示されている行です。DataItemIndexは、実際のアイテムのインデックスです。どちらも、現在表示されているレコードのセット内のレコードのインデックスを表示します。