我有一个网格视图,显示用户拥有的消息。用户拥有的每条消息都被标记为是否已在数据库表中读取或未读取。
根据邮件是读还是未读,有没有办法改变网格视图中某些行的样式?我希望以粗体显示未读消息的整行。
答案 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