【问题标题】:Create custom dynamic legend for DevExpress GridView为 DevExpress GridView 创建自定义动态图例
【发布时间】:2012-03-02 15:18:49
【问题描述】:

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

我该怎么做。请帮忙。

我正在使用 DevExpress 2009 Vol2 和 .Net 框架 - 2.0 和 WinForms

【问题讨论】:

  • 除非您查看控件的“自定义绘制”,否则我认为这是不可能的。我相信一个更简单的解决方案是创建我们的图例的图像图形并将其放在网格的侧面或底部。

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


【解决方案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 将有两列,第一列用于颜色,第二列用于标题。您必须将第一列的 ColumnEdit 属性设置为 ColorEdit。为了避免显示颜色名称,请将 AppearanceCell 的 ForeColor 属性设置为透明。还将 OptionsColumn 中的 FixedWidth 设置为 true,并将 Width 设置为一些不错的数字(我的系统为 32)。

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

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

【讨论】:

  • 我一定会尝试的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多