如何在不重复项目名称的情况下显示包含多个零件的项目视图?

时间:2013-01-19 15:08:55

标签: c# wpf linq

这是我的数据集:

List <Orders> myOrders;

itemName    itemQuantity    partName    unitQuantity    totalQuantity
A           2               X           0.5             1
A           2               Y           2               4
A           2               Z           7               14

总结:

  • 商品的订单为2(itemQuantity),名为A(itemName)

  • 此项目有3个部分:X,Y,Z(partNames)及其各自的数量(这就是为什么每个项目A将有3行,每个部分对应该项目的一个部分)< / p>

  • totalQuantity是unitQuantity * itemQuantity(例如,对于2个项目A,我们需要多少个X类型的部分)

所有数据都在那里,但这对客户来说很困惑,因为他们看到3行“项目A”,而我​​需要向客户展示(使用WPF在屏幕上看到)以下内容:

itemName    itemQuantity    partName    unitQuantity    totalQuantity
A           2               X           0.5             1
                            Y           2               4
                            Z           7               14

请注意,数据没有改变,但现在我们不会为每个部分重复itemName或itemQuantity,看起来部件列表属于那个itemName(A)。因此,它在视觉上更加清晰,因此从阅读它的人那里就不那么容易混淆了(因为它似乎都是分组的)。

相同的数据,不同的格式,我无法找到如何“转换”我的数据或在我的XAML(WPF)中做一些魔术,使其在屏幕上以这种方式呈现给客户。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您希望绑定哪种类型的目标控件?您可以简化编写自定义类来实现排序,而不是尝试XAML。简单地说,将IList传递给自定义类,并将重复值消除为空值并绑定到目标控件。

答案 1 :(得分:0)

我发现您已经获得了各种答案on using TreeViewother variants

我相信您可能有兴趣考虑Master-Detail DataBinding:

以下是第一篇参考资料的截图:

Addams company chosen

1所示。 Addams公司选择了

Stooge Company chosen

2所示。 Stoge公司选择了

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

enter image description here