DataTable にバインドされた ListView があります。DataTable の行を反復処理して、そのデータにアクセスしたいと思います。これを行うには、ListView の ListViewDataItems を単純に反復するだけでよいと考えました。データに適切にアクセスしていることをテストするために、次のコードを試しました。これは、各行の列 0 に文字列を出力するだけです。
for (int i = 0; i < MyListView.Items.Count; i++)
{
ListViewDataItem item = MyListView.Items[i];
DataRow row = (DataRow) item.DataItem;
Response.Write(row[0]);
}
ただし、何も印刷されません。ListView が空でないことを確認するために (データが aspx ページで適切にレンダリングされているため、空であってはなりません)、次のことを試しました。
Response.Write(MyListView.Items.Count);
これは、ListView に 16 行あるため、16 という数字を出力します。データに正しくアクセスしていないだけだと思います。これについての洞察をいただければ幸いです。