Как привести объект из (отправитель объекта, ListViewItemEventArgs e) - PullRequest
5 голосов
/ 23 декабря 2008

Я использую элемент управления ListView со следующим источником данных List<MyObject>

В моем элементе управления списком у меня есть OnItemDataBound

Мой вопрос: как получить текущее значение MyObject? Т.е. myObj [5] .FirstName

защищенный void ItemsListViewDataBound (отправитель объекта, ListViewItemEventArgs e) { // Я хочу сделать здесь какое-то приведение

}

Ответы [ 2 ]

12 голосов
/ 23 декабря 2008
protected void MyListView_DataBind(object sender, ListViewItemEventArgs e){
  if(e.Item.ItemType == ListViewItemType.DataItem){
    MyObject p = (MyObject)((ListViewDataItem)e.Item).DataItem;
  }
}

Вы захотите выполнить проверку типа, чтобы не пытаться выполнять приведение типа, например, над элементом заголовка.

2 голосов
/ 23 декабря 2008

это может помочь:

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...