2010-12-01 51 views
0

我有一個模板ListView,它把一堆數據,像XY Z.如何在DataBound上動態更改ListView?

我想隱藏顯示一些基於條件的列,所以我有ItemDataBound事件,但我不知道如何得到實際的列表視圖行,這樣我就可以做到這一點。

任何想法?

回答

1

您可以訪問ListViewItemEventArgs的Item屬性以獲取當前項目(綁定到數據的項目)。

下面的代碼示例(其中演示瞭如何在ItemDataBound事件自定義ListView項)從MSDN documentation拍攝:

protected void ContactsListView_ItemDataBound(object sender, ListViewItemEventArgs e) 
{ 
    Label EmailAddressLabel; 
    if (e.Item.ItemType == ListViewItemType.DataItem) 
    { 
     // Display the e-mail address in italics. 
     EmailAddressLabel = (Label)e.Item.FindControl("EmailAddressLabel"); 
     EmailAddressLabel.Font.Italic = true; 

     System.Data.DataRowView rowView = e.Item.DataItem as System.Data.DataRowView; 
     string currentEmailAddress = rowView["EmailAddress"].ToString(); 
     if (currentEmailAddress == "[email protected]") 
     { 
      EmailAddressLabel.Font.Bold = true; 
     } 
    } 
} 
+0

感謝那些FindControl方法正是我需要的,工作一種享受! – NibblyPig 2010-12-01 14:45:59