如何将枚举值更改为绑定到UltraGrid的更具可读性的字符串

本文关键字:UltraGrid 字符串 可读性 绑定 枚举 | 更新日期: 2023-09-27 18:30:55

我有一个Infragistics UltraGrid,其中包含各种数据类型的绑定列表。其中之一是具有非人类可读值的枚举。我想将显示更改为更具可读性的内容。

在代码库中,人们一直在隐藏枚举列并添加具有所需值的字符串列。这对我来说似乎不对。有没有办法更改显示的枚举值,使其更具可读性?

例。不可读:
一些不可读的枚举值
Some_Unreadable_Enum_Value

读:
一些可读的文本

更新:
我知道使用描述属性

public enum MyEnum
{
    [Description("Description for Foo")]
    Foo,
    [Description("Description for Bar")]
    Bar
}

正如这里提到的,请参阅托马斯·莱维斯克的回答。我只是不知道如何将此描述属性绑定到已经绑定到枚举的 UltraGrid。

如何将枚举值更改为绑定到UltraGrid的更具可读性的字符串

我只是创建一个返回描述并绑定到它的属性

public override string UserTextOp
{
    get
    {
        Type enumType = typeof(enumTextCond);
        string name = Enum.GetName(enumType, cond1SelectedKeyEnum);
        if (name != null)
        {
            FieldInfo field = enumType.GetField(name);
            if (field != null)
            {
                DescriptionAttribute attr =
                        Attribute.GetCustomAttribute(field,
                            typeof(DescriptionAttribute)) as DescriptionAttribute;
                if (attr != null)
                    name = attr.Description;
            }
            return name;
        }
        return string.Empty;
    }
}