C# 如何在不复制项目名称的情况下显示包含多个部分的项目视图?

C# 如何在不复制项目名称的情况下显示包含多个部分的项目视图?,c#,wpf,linq,C#,Wpf,Linq,这是我现在的数据集: List <Orders> myOrders; itemName itemQuantity partName unitQuantity totalQuantity A 2 X 0.5 1 A 2 Y 2 4 A 2

这是我现在的数据集:

List <Orders> myOrders;

itemName    itemQuantity    partName    unitQuantity    totalQuantity
A           2               X           0.5             1
A           2               Y           2               4
A           2               Z           7               14
请注意,数据没有更改,但现在我们不会为每个零件重复itemName或itemQuantity,看起来零件列表属于该itemName(A)。从本质上讲,它在视觉上更清晰,因此从阅读它的人的角度来看,它不那么令人困惑(因为它似乎都是组合在一起的)


相同的数据,不同的网络格式,我无法找到如何“转换”我的数据,或者在我的XAML(WPF)中做一些魔术,让客户在屏幕上看到它。非常感谢您的帮助。

您希望绑定哪种类型的目标控件?与尝试XAML不同,您可以简化编写一个自定义类来实现对其进行排序。简单地说,在自定义类中传递IList,并将重复的值消除为空值,然后绑定到目标控件。

我看到您已经得到了各种答案和建议

我相信你可能会考虑主数据的细节:

以下是第一个参考的屏幕截图:

图1。亚当斯公司

图2。斯托克公司

或者如果要删除其中一家公司:


许多gridview实现都有一个分组功能,可以直观地对数据源中的行进行分组。你是怎么介绍这个的?如果我没有弄错的话,WPF中的
ListView
控件确实支持分组。我希望以任何可行的方式呈现它,我使用的是WPF,页面是空的,所以我可以自由选择我想要的任何内容,只要它看起来像我上面的示例(或同样清晰的内容)。嗯,在这种情况下,我建议您查看一下
ListView
的分组功能,看看您是否喜欢结果。目标控件?老实说,我有一个空的WPF页面,我可以使用任何我想要的。我只想让它看起来像我的例子(或者相当清晰的东西)。至于“自定义类”和“空值”,老实说,我甚至没有考虑过(多么好的主意!)。我仍然希望使用一些不太粗糙的东西,但如果没有其他的东西出现,这肯定是一个伟大的解决方案(谢谢)。如果你觉得这是帮助你得出结论后。把这个标记为答案。
itemName    itemQuantity    partName    unitQuantity    totalQuantity
A           2               X           0.5             1
                            Y           2               4
                            Z           7               14