C#:GridView,逐行操作

时间:2009-04-07 13:00:02

标签: c# asp.net gridview

我有一个网格视图,显示用户拥有的消息。用户拥有的每条消息都被标记为是否已在数据库表中读取或未读取。

根据邮件是读还是未读,有没有办法改变网格视图中某些行的样式?我希望以粗体显示未读消息的整行。

1 个答案:

答案 0 :(得分:6)

您需要将RowDataBound事件用于此类任务。这是一个例子:

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" >
...
</asp:GridView>

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    // searching through the rows
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        bool isnew = (bool)DataBinder.Eval(e.Row.DataItem, "IsNew");
        if ( isnew ) e.Row.BackColor = Color.FromName("#FAF7DA"); // is a "new" row
    }
}

参考:http://blog.devexperience.net/en/5/Change_background_color_of_GridView's_Rows.aspx