如何在DataBound上动态更改ListView?

时间:2010-12-01 14:01:50

标签: c# asp.net

我有一个带有模板的ListView,它会放入一堆数据,比如X Y Z。

我想隐藏根据条件显示一些列,所以我有ItemDataBound事件,但我不知道如何获取实际的listview行,所以我可以做的事情。

有什么想法吗?

1 个答案:

答案 0 :(得分: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 == "orlando0@adventure-works.com")
        {
            EmailAddressLabel.Font.Bold = true;
        }
    }
}