为DevExpress GridView创建自定义动态图例

时间:2012-02-10 05:05:39

标签: vb.net gridview .net-2.0 devexpress legend

我有一个DevExpress GridView,其细胞根据某些条件涂有随机颜色。现在每种颜色都有意义,我想把它显示为一个传奇。每种情况使用的颜色数量可能会有所不同。

我该怎么做?请帮忙。

我使用DevExpress 2009 Vol2和.Net framework - 2.0和WinForms

1 个答案:

答案 0 :(得分: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接收焦点等。

我希望这会有所帮助,即使它迟到了两周。