[英]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.