Fre*_*red 5 css c# asp.net gridview
我在 gridview 中显示数据并希望有条件地更改单元格中文本的颜色。
所以在RowDataBound网格上
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (((SurveyListHeader)(e.Row.DataItem)).PositionalConfidence != "G1" && ((SurveyListHeader)(e.Row.DataItem)).PositionalConfidence != "G3")
{
e.Row.Cells[3].ForeColor = System.Drawing.Color.Red;
//e.Row.Cells[3].BorderColor = System.Drawing.Color.Black;
}
if (((SurveyListHeader)(e.Row.DataItem)).PositionalConfidence != "G2" && ((SurveyListHeader)(e.Row.DataItem)).PositionalConfidence != "G3")
{
e.Row.Cells[4].ForeColor = System.Drawing.Color.Red;
//e.Row.Cells[4].BorderColor = System.Drawing.Color.Black;
}
}
Run Code Online (Sandbox Code Playgroud)
然而,这也会导致边框颜色发生变化。

我曾尝试将边框颜色改回黑色,但这不起作用。
我尝试向单元格的 CSSStyleCollection 添加样式项,但仍然没有任何乐趣。
我已经看到其他人遇到了这个问题,但没有任何答案适合我。有什么建议?
对于任何其他偶然发现这一点的人,您可以通过更改前色然后将所有边框更改回黑色来使其工作 - 可能并不理想,但更改所有单独的标签将是一场噩梦。下面的代码(请注意,您必须更改每个单元格而不仅仅是行边框),其中 grdSearchResults 是您的网格视图:
protected void grdSearchResults_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[1].Text == "Closed")
{
e.Row.ForeColor = System.Drawing.Color.LightGray;
for (int i = 0; i < grdSearchResults.Columns.Count; i++)
{
e.Row.Cells[i].BorderColor = System.Drawing.Color.Black;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7248 次 |
| 最近记录: |