0

很抱歉标题满嘴,但我想做的是非常基本的。在带有消息的收件箱中,每条消息的数据库都有hasBeenRead一点。单击并“读取”此消息后,该位设置为真,否则为假。

我想知道如何基本上将已读取的那些背景颜色设置为默认值以外的其他颜色?我有一些想法,比如遍历每一行并检查那一点......但是假设你有一个足够大的网格视图和足够的行,哇,这听起来效率很低。我还想我可以将行应该在数据库中的颜色存储在数据库中……但是我不确定这将如何转化为实际更改行的颜色。

4

1 回答 1

1

当我写下我的第一个答案时,我脑海中出现了 listView。

但是您仍然可以使用 rowDataBound 事件并在后面的代码中设置行的颜色。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" 
         DataKeyNames="xyz" onrowdatabound="GridView1_RowDataBound">
...
</asp:GridView>


protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{               
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
         e.Row.BackColor = Color.FromName("#E56E94");     
    }
}
于 2013-01-18T02:40:24.077 回答