在ASP.NET Gridview中更改行颜色通常可以通过设置RowDataBound事件来实现,在RowDataBound事件中使用条件语句指定更改哪些行的颜色。但是,有时会出现某些行的背景颜色无法更改的问题,这可能是由于某些CSS样式文件中设置了Gridview的默认行颜色,覆盖了代码中设置的颜色。
要解决这个问题,可以在设置行颜色之后,手动将CSS样式中的默认颜色更改为与设置的颜色匹配。示例代码如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { if (条件语句) { e.Row.BackColor = System.Drawing.Color.Red; e.Row.CssClass = "MyCustomStyle"; } } }
CSS样式:
/* 默认样式 / .MyGridviewStyle tbody tr:nth-child(odd) { background-color: #F2F2F2; } / 自定义样式 */ .MyCustomStyle { background-color: #FF0000 !important; }
通过加上!important标记,可以强制覆盖默认样式,达到更改行颜色的目的。