次のデータソースで ListView コントロールを使用していますList<MyObject>
私のリストビューコントロールには、OnItemDataBound があります
私の質問は、MyObject の現在の値を取得する方法です。つまり myObj[5].FirstName
protected void ItemsListViewDataBound(object sender, ListViewItemEventArgs e) { // ここで何らかのキャストを行いたい
}
protected void MyListView_DataBind(object sender, ListViewItemEventArgs e){
if(e.Item.ItemType == ListViewItemType.DataItem){
MyObject p = (MyObject)((ListViewDataItem)e.Item).DataItem;
}
}
たとえば、ヘッダー項目の作業中にキャストを試行しないように、型チェックを行う必要があります。
これが役立つかもしれません:
void listview1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
ListViewItem listItem = (ListViewItem)e.Item;
//or
ListViewDataItem listDataItem = (ListViewDataItem)e.Item;
Label mylabelinItem = listItem.FindControl("labelId") as Label;
}