C#:GridView,逐行操作

Cam*_*iba 2 c# asp.net gridview

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

有没有一种方法可以根据消息是读取还是未读取来更改网格视图中某些行的样式?我希望以粗体显示未读消息的整行.

And*_*ech 6

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

<asp:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound" >
...
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)

.

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
    }
}
Run Code Online (Sandbox Code Playgroud)

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