2012-02-10 24 views
0

我有一个DevExpress GridView,其单元格根据某些条件使用随机颜色绘制。现在每种颜色都有一个含义,我想把它作为一个传说展示出来。每种条件使用的颜色数量可能会有所不同。为DevExpress GridView创建自定义动态图例

我怎样才能做到这一点。请帮忙。

我使用的DevExpress 2009年VOL2,和.NET Framework - 2.0和WinForms

+0

我不认为这是可能的,除非你看看控制的“自定义油漆”。我相信一个更简单的解决方案是创建我们图例的图像图形,并将其放置在网格的侧面或底部。 – 2012-02-12 20:16:15

回答

1

您可以尝试使用其他GridControl。 DataSource就是这样一个简单的类:

class Legend 
{ 
    public Legend(string caption, Color color) 
    { 
     Caption = caption; 
     Color = color; 
    } 

    public string Caption { get; set; } 
    public Color Color { get; set; } 
} 

你会在构建你的颜色列表时填充它;我不知道你的设置,例如,

gridControl1.DataSource = new List<Legend> 
{ 
    new Legend ("First", Color.AliceBlue), 
    new Legend ("Second", Color.Azure), 
    new Legend ("Third", Color.Bisque) 
}; 

GridControl将有两列,第一个是Color,第二个是Caption。您必须将第一列的ColumnEdit属性设置为ColorEdit。为了避免显示颜色名称,将AppearanceCell的ForeColor属性设置为透明。还将OptionsColumn中的FixedWidth设置为true并将Width设置为一些不错的数字(我的系统为32)。

视图应该是不可编辑的(OptionsBehavior.Editable = false),并且焦点不应该使用它自己的外观(OptionsSelection.EnableAppearanceFocusedRow = false)。此外,您可能会隐藏标题,隐藏行指示符,不允许GridControl接收焦点等。

我希望这可以帮助,即使它迟到了两个星期。

+0

我肯定会尝试一下。 – 2012-02-27 05:42:59