Gridview行基于SQL变量的唯一颜色

时间:2013-01-18 02:31:53

标签: c# asp.net gridview colors row

对于满口的标题感到抱歉,但我想要做的是非常基本的。在带有消息的收件箱中,每条消息的DB都有hasBeenRead位。单击此消息并“读取”后,此位设置为true,否则为false。

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

1 个答案:

答案 0 :(得分: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");     
    }
}