【问题标题】:How to hide Item in RepositoryItemComboBox?如何在 RepositoryItemComboBox 中隐藏项目?
【发布时间】:2015-04-08 20:11:24
【问题描述】:

您好,我在 winform 上使用 devExpress。 我有一个项目列表 wholeList = {Item1, Item2, Item3, Item4,Item5,Item6}, 我还有另外两个列表:ActionAList = {Item1,Item3,Item5},ActionBList = {Item2,Item4,Item6}。 我的表单上有一个网格视图。我在这个网格上有两列“Action”和“Item”。每列都有一个 repositoryItemComboBox 作为就地编辑器。

在“Action”的下拉列表中,我有“ActionA”和“ActionB”。在“项目”的下拉列表中,我有所有 6 个项目 Item1 到 Item6。当我选择 ActionA 时,我希望 Item 下拉列表仅显示 Item1、Item3 和 Item5。当我选择 ActionB 时,我希望 Item 下拉列表只显示 Item2、Item4 和 Item6。

我认为当用户选择不同的操作(A 或 B)时,我可以清除 Item 下拉列表中的 repositoryItems,并将 ActionAList 或 ActionBList 添加回 repositoryItem。但是我觉得不舒服,因为有可能此时Item下拉列表中的可用项目只有Item1,3和5,但另一行可能仍然保留ActionB和Item2。

我想知道归档此要求的最佳方式是什么。 我也想我们是否有什么方法可以隐藏整个列表中的一些项目。 因此,当用户打开 Item 下拉列表的编辑器时。根据当前行的action值,我可能只在ActionAList或ActionBList中显示项目。但我在创建 ComboBoxItem 或 ImageComboBoxItem 时找不到此类属性。

感谢您的任何意见!

【问题讨论】:

    标签: winforms filter devexpress in-place-editor


    【解决方案1】:

    首先,请记住repositoryItems 只是为GridView 中的每一行构造编辑器的模板。基于单元格控制编辑器的唯一方法是处理 CustomRowCellEdit 事件(您可以在其中选择现有编辑器或创建自定义编辑器)。

    其次,每次用户更改“Action”列中的值时,您必须处理 CellValueChanged 事件以清除“Item”列,以避免您描述的情况(Action = A 时来自 ActionBList 的项目)。

    问候,

    马切伊·诺维茨基

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-07
      • 1970-01-01
      • 1970-01-01
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多