我是初学者。我有一个wingrid,如果将单个枚举分配给列valuelist,那么它会完美地显示枚举名称。
但是,当我将多个枚举分配给valuelist列时,它将所有单元格值指定为与枚举值对应的数字,并且仅用于
分配给valuelist的最后一个枚举完美地显示了枚举值 下面是具有3行的列,每行具有不同的枚举值 例如A栏
1
65
EnumName
上面是显示正在发生的情况的列,它显示除了lastone之外的所有数字,似乎它覆盖了值列表项,并且网格只能显示最后声明的枚举名称。
e.Layout.Bands[0].Columns["Quantity"].ValueList = e.Layout.ValueLists["QuantityType"];
e.Layout.Bands[0].Columns["Quantity"].ValueList = e.Layout.ValueLists["CrimEmpQuantityType"];
e.Layout.Bands[0].Columns["Quantity"].ValueList = e.Layout.ValueLists["CrimCreditQuantityType"];
此代码是在grid initialize_Layout事件下编写的,其中QuantityType,CrimEmpQuantityType,CrimCreditQuantityType是我的枚举,列显示“CrimCreditQuantityType”的枚举名称和其余枚举的编号。 有什么办法可以将多个枚举分配给单列的值列表吗?或任何其他人可以帮助我吗?
答案 0 :(得分:1)
列的ValueList属性只能引用单个IValueList,因此当您多次设置它时,您将替换它指向的引用。如果需要为各个行设置不同的值集,则需要在单个单元格上设置ValueList。如果您有一个比其他值更多的值列表,您可以将其设置为该列的ValueList,然后根据需要在单个单元格上使用其他两个实例。
UltraGridCell ValueList property的API文档中有一个示例。