我是个初学者。我有一个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"];
这段代码是在网格initialize_Layout事件下编写的,其中QuantityType、CrimEmpQuantityType和CrimCreditQuantityType是我的枚举,列显示"CrimCreditQualityType"的枚举名称和其余枚举的编号。有没有什么方法可以将多个枚举分配给单列的值列表??或者其他人有人能帮我吗?
列的ValueList属性只能引用一个IValueList,因此当您多次设置它时,您将替换它所指向的引用。如果您需要为各个行设置不同的值集,则需要在各个单元格上设置ValueList。如果您有一个值列表比其他值列表使用得更多,您仍然可以将其设置为列的ValueList,然后根据需要在各个单元格上使用其他两个实例。
API文档中有一个UltraGridCell ValueList属性的示例。