Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于用户多选对列表框中的项目进行分组_C#_Wpf_Listbox - Fatal编程技术网

C# 基于用户多选对列表框中的项目进行分组

C# 基于用户多选对列表框中的项目进行分组,c#,wpf,listbox,C#,Wpf,Listbox,我正在寻找如何最好地完成以下几点的想法。我有一个简单的可观察收集列表框。我允许用户选择多个项目。我想让他们“分组”他们的选择。例如,他们选择3个项目并单击“组”,这3个项目将相互关联。 此列表框表示数据表中的列。当他们对项目进行分组时,他们表示希望将这些列连接到一个返回中。基于这一点,我并不真正关心如何做到这一点,只要当他们最终点击提交时,我就可以浏览列表,看看他们想要哪一个粘在一起。 所以,我猜我在技术上不是“分组”,而是“标记”。我知道还有其他与如何解释标记项相关的挑战,但我将在稍后进行研究

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


干杯

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


根据数据的动态程度,这可能会返回expando、动态生成的类型或使用生成的代码(emit)定义的类型。它从列中获取数据,按指定的顺序追加数据,基于ColumnName设置属性并返回新对象。除非你也排放,否则这可能是低效的。

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

我对“3”的使用是任意的。他们可以选择任何要连接的数字。我现在想,我只需要捕捉他们每次点击“组”按钮时选择的内容。如果我将这些项目存储在它们自己的列表中,那么我可以稍后确定哪些项目属于同一个列表。这可能没有我想象的那么难。我将把这个问题留待几天,因为我可能会从回答中学到一些东西。只要你选择了多个,那么你就需要知道它们的连接顺序。除非你不在乎。