C# 如何按单元格值更改devexpress网格中的单元格背景色?

C# 如何按单元格值更改devexpress网格中的单元格背景色?,c#,colors,devexpress,cell,xtragrid,C#,Colors,Devexpress,Cell,Xtragrid,我正在试图解决如何通过它的值来改变单元格的背景色?例如,column name-Colors,columns rows value是color name-red、yellow、blue等。所以我想知道如何通过值更改单元格的背景色。若单元格值为-red,那个么我希望单元格背景颜色为红色 谢谢您可以使用事件。您可以从e.column属性获取列,也可以从e.CellValue获取单元格值 下面是一个例子: private void gridView1_CustomDrawCell(object sen

我正在试图解决如何通过它的值来改变单元格的背景色?例如,column name-Colors,columns rows value是color name-red、yellow、blue等。所以我想知道如何通过值更改单元格的背景色。若单元格值为-red,那个么我希望单元格背景颜色为红色

谢谢

您可以使用事件。您可以从
e.column
属性获取列,也可以从
e.CellValue
获取单元格值
下面是一个例子:

private void gridView1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
{
    if (e.Column.FieldName == "Colors")
        try
        {
            e.Appearance.BackColor = Color.FromName(e.CellValue.ToString());
            e.Appearance.Options.UseBackColor = true;
        }
        catch { }
}
您可以使用事件。您可以从
e.column
属性获取列,也可以从
e.CellValue
获取单元格值
下面是一个例子:

private void gridView1_CustomDrawCell(object sender, RowCellCustomDrawEventArgs e)
{
    if (e.Column.FieldName == "Colors")
        try
        {
            e.Appearance.BackColor = Color.FromName(e.CellValue.ToString());
            e.Appearance.Options.UseBackColor = true;
        }
        catch { }
}

我有一个想法,你可以得到每一个单元格的值,并将单元格外观背景颜色设置为Color.FromName(cellvalue)。但我正在努力获取细胞值。不知道如何获取列(颜色)所有单元格值我有一个想法,可以从中获取每个单元格值,并将单元格外观背景色设置为COLOR.FromName(单元格值)。但我正在努力获取细胞值。不知道如何获取列(颜色)所有单元格values@ryterys您的DevExpress的版本是什么?目前在这里是-12。2@ryterys我的版本是15.1。尝试使用:
e.Appearance.FillRectangle(e.Cache,e.Bounds);e、 DrawString(e.Cache,e.DisplayText,e.Bounds)而不是
e.DefaultDraw()
@Rytrys您也可以尝试更改背景色,而不处理自定义绘图。@Rytrys您的DevXPress的版本是什么?目前在这里是-12。2@ryterys我的版本是15.1。尝试使用:
e.Appearance.FillRectangle(e.Cache,e.Bounds);e、 DrawString(e.Cache,e.DisplayText,e.Bounds)而不是
e.DefaultDraw()
@ryterys您还可以尝试更改背景色,而不处理自定义绘图。