我有一个DevExpress GridView,其细胞根据某些条件涂有随机颜色。现在每种颜色都有意义,我想把它显示为一个传奇。每种情况使用的颜色数量可能会有所不同。
我该怎么做?请帮忙。
我使用DevExpress 2009 Vol2和.Net framework - 2.0和WinForms
答案 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接收焦点等。
我希望这会有所帮助,即使它迟到了两周。