【发布时间】:2013-07-31 19:18:41
【问题描述】:
我正在编写一个 ASP.NET 应用程序(使用 VB)。我有基于内容的gridview行的条件格式。作为其中的一部分,我希望能够更改文本的颜色。我尝试使用:
e.Row.ForeColor = System.Drawing.Color.Red
问题是这也会使边框变红。有什么方法可以只更改文本颜色,或强制边框变回黑色?
谢谢
标记
【问题讨论】:
我正在编写一个 ASP.NET 应用程序(使用 VB)。我有基于内容的gridview行的条件格式。作为其中的一部分,我希望能够更改文本的颜色。我尝试使用:
e.Row.ForeColor = System.Drawing.Color.Red
问题是这也会使边框变红。有什么方法可以只更改文本颜色,或强制边框变回黑色?
谢谢
标记
【问题讨论】:
试试这个。
e.Row.BorderColor = System.Drawing.Color.Black;
更改ForeColor后
【讨论】:
ForeColor 应该可以工作,但试试这个:
e.Row.ForeColor = Color.FromName("#f00");
【讨论】:
我知道这个问题发布已经一年多了,但实际上我也遇到了这个问题。
格洛丽亚在正确的轨道上,但问题是单元格使用行的ForeColor 作为它们的边界。
这意味着您还需要更改行中每个单元格的边框颜色:
// After setting Row.ForeColor
foreach (TableCell cell in e.Row.Cells)
{
cell.BorderColor = Color.Black;
}
或使用 LINQ:
// After setting Row.ForeColor
e.Row.Cells.Cast<TableCell>.ToList().ForEach(c => c.BorderColor = Color.Black);
【讨论】: