如何在运行时隐藏组合框上的枚举值?

Tej*_* S 6 combobox x++ axapta

假设组合框链接到枚举“ABC”。其中的元素是 A、BC 和 D。

现在我只需要在组合框中获得 A 和 C 而不是 B 和 D?

这可能吗?

Jan*_*sen 3

无法删除枚举值或组合框值。

您可以复制枚举,然后删除元素或更改顺序(但不能更改枚举值)。您有责任维护两种枚举类型与未来的更改同步。

要将一个枚举分配给另一个不兼容的枚举,只需向其添加零即可!

abc = myAbc + 0;
Run Code Online (Sandbox Code Playgroud)

或者您可以使用编程来更新组合框(使用组合框而不指定枚举类型):

YourComboBox.add("A");
YourComboBox.add("C");
Run Code Online (Sandbox Code Playgroud)

有关向组合框添加新值的信息,另请参阅枚举作为 Dynamics AX 中的参数。

虽然不可能在运行时删除枚举值,但可以隐藏整个应用程序的枚举值。只需将枚举值的 ConfiguratioKey 更改为“SysDeletedObjects40”,它就会作为合法值消失。我假设这个配置键没有启用!