【问题标题】:Dynamically Change Color of Text ONLY in GridView仅在 GridView 中动态更改文本颜色
【发布时间】:2013-07-31 19:18:41
【问题描述】:

我正在编写一个 ASP.NET 应用程序(使用 VB)。我有基于内容的gridview行的条件格式。作为其中的一部分,我希望能够更改文本的颜色。我尝试使用:

e.Row.ForeColor = System.Drawing.Color.Red

问题是这也会使边框变红。有什么方法可以只更改文本颜色,或强制边框变回黑色?

谢谢

标记

【问题讨论】:

    标签: asp.net css gridview


    【解决方案1】:

    试试这个。

    e.Row.BorderColor = System.Drawing.Color.Black;

    更改ForeColor

    【讨论】:

    • 没有意义。如果我查看渲染页面上的 HTML 标记,它有 class="RowStyle" style="border-color: black;"无论如何,我想出了一种方法来调整我的 css 来强制它
    【解决方案2】:

    ForeColor 应该可以工作,但试试这个:

    e.Row.ForeColor = Color.FromName("#f00");

    【讨论】:

    • ForeColor 正在为文本工作。问题是它也在改变边界
    【解决方案3】:

    我知道这个问题发布已经一年多了,但实际上我也遇到了这个问题。

    格洛丽亚在正确的轨道上,但问题是单元格使用行的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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多