代码之家  ›  专栏  ›  技术社区  ›  Thilok Gunawardena

在DataTable单元格中显示时更改C#字符串的颜色

  •  0
  • Thilok Gunawardena  · 技术社区  · 13 年前

    我在C#窗体应用程序中工作,我想更改在网格中显示的字符串的颜色。

    //dtRList is a DataTable  
    dtRList.Rows.Add(something + "This should be red");
    

    基本上,我需要改变我在这里附加的字符串的颜色。类似这样的事情,

    String str = "This should be red";
    

    现在将str的颜色更改为红色,然后

    dtReconList.Rows.Add(something + str);
    

    我认为这样做是不可能的,也许我会去买一个标签什么的。 任何帮助都将不胜感激。

    谢谢

    2 回复  |  直到 13 年前
        1
  •  5
  •   Sergey Berezovskiy    13 年前

    DataTable 与UI无关。这不是一种控制。它只是一个数据持有者。如果你想问一下 DataGridView 控制或其他方式 显示 数据但字符串是一个字符序列。字符串只包含文本,没有其他内容。字符串不知道您将如何使用它(例如显示字符串)。

        2
  •  3
  •   user1162766 user1162766    13 年前

    不能更改字符串的颜色。因为它一开始没有颜色,所以正如您所说,您想要的是更改表示字符串值的组件的颜色。

    一个快速代码可以给你一个大致的想法,下面是你如何设置 DataGridViewCell

    DataGridViewCellStyle style = new DataGridViewCellStyle();
    style.ForeColor = Color.Red;
    
    dgVenta.Rows[0].Cells[0].Style = style;
    

    当然,你需要对你想要的单元格进行样式设置,而不一定是第一个。这取决于你。请记住,如果您更改的行被选中,它可能不会反映您设置的颜色,要解决这个问题 SelectionForeColor 所有物

    当然,尽你所能,改变你需要的一切,并做任何条件逻辑,例如,如果值是正的或负的,使用绿色或红色。