0

我是初学者。我有一个 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 是我的枚举,列显示“CrimCreditQuantityType”的枚举名称和其余枚举的编号。有什么办法可以将多个枚举分配给单列的值列表?或任何其他人可以帮助我吗?

4

1 回答 1

1

列的 ValueList 属性只能引用单个 IValueList,因此当您多次设置它时,您将替换它指向的引用。如果您需要为各个行设置不同的值集,则需要在各个单元格上设置 ValueList。如果您有一个比其他值列表使用更多的值列表,您仍然可以将其设置为列的 ValueList,然后根据需要在单个单元格上使用其他两个实例。

UltraGridCell ValueList 属性的 API 文档中有一个示例。

于 2012-07-18T11:53:07.647 回答