簡體   English   中英

根據條件更改listview行顏色

[英]Changing listview row color according to conditions

我正在開發一個關於撰寫報告的網站......用戶可以對報告發表評論(嗯!!好像是一件新事物;))..回到問題...我在做什么是使用listview顯示評論。

問題:我希望當有人評論他自己的帖子時, the row should be of different color ,以便帖子所有者評論清楚可見......我在Scott Guthrie's博客中看到了這一點。感謝所有人的幫助。謝謝。

您可以使用數據鍵和ItemDataBound事件執行此操作。

<asp:ListView ID="ListView1" runat="server" DataKeyNames="UserID" OnItemDataBound="ListView1_ItemDataBound" ... />

除了上述內容之外,您還需要將每個項目包裝在服務器控件中,以便調整背景顏色:

<ItemTemplate>
    <asp:Panel ID="Panel1" runat="server">
        <!-- the item content here -->
    </asp:Panel>
</ItemTemplate>

這是一些示例代碼隱藏:

protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    var dataItem = e.Item as ListViewDataItem;
    if (dataItem != null)
    {                        
        var innerPanel = dataItem.FindControl("Panel1") as Panel;
        if (innerPanel!= null)
        {
            var userID = (int)ListView1.DataKeys[dataItem.DisplayIndex]["UserID"];
            if (userID == base.User.UserID)
                innerPanel.BackColor = Color.PeachPuff;
        }
    }        
}

onitemdatabound檢查評論員ID是否與作者ID匹配

如果它確實做了類似的事情

if(databinder.eval(e.item.dataitem, "commentatorid") == _writerId)
{
    e.item.attributes.add("style", "background-color: red");
}

我認為這樣的事情無法檢查atm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM