【问题标题】:Group items in a listbox based on user multiselect基于用户多选对列表框中的项目进行分组
【发布时间】:2018-12-19 08:33:19
【问题描述】:

我正在寻找有关如何最好地完成以下任务的想法。我有一个 ObservableCollection 的简单列表框。我允许用户选择多个项目。我想让他们“分组”他们的选择。例如。他们选择 3 个项目并单击“组”,这 3 个项目相互关联。 此列表框表示数据表中的列。当他们对项目进行分组时,他们说他们希望将这些列连接到一个返回中。基于此,我真的不在乎这是如何完成的,只要当他们最终点击提交时,我可以浏览列表并查看他们想要粘在一起的那些。 所以,我想我在技术上不是“分组”而是“标记”。我知道在如何解释标记的项目方面还有其他挑战,但我稍后会解决这个问题。

干杯!

【问题讨论】:

    标签: c# wpf listbox


    【解决方案1】:

    添加另一个包含三列的表。标签(或别名可能)、列名和顺序。然后写一些中间处理代码。

    根据您的数据的动态程度,这可能会返回一个扩展、动态生成的类型或您使用生成的代码 (emit) 定义的类型。它从列中获取数据,按指定的顺序附加它,根据列名设置属性并返回新对象。除非您也发出它,否则这可能效率低下。

    【讨论】:

    • 我对“3”的使用是任意的。他们可以选择任何数字进行连接。我现在想我只需要在他们每次点击“组”按钮时捕获选择的内容。如果我将这些项目存储在他们自己的列表中,我可以稍后找出哪些属于一起。这可能没有我想象的那么难。我将把这个问题搁置几天,因为我可能会从回复中学到一些东西。
    • 只要你选择多个,那么你需要知道它们将被连接的顺序。除非你不在乎。
    【解决方案2】:

    我想多了。当用户单击“组合”并将它们分配到他们自己的组列表时,我最终只选择了列表中选择的任何内容。它们都有一个通用的 GUID 并存储在数据库中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 2017-03-09
      • 1970-01-01
      • 2020-09-23
      • 1970-01-01
      • 2022-08-16
      相关资源
      最近更新 更多