在Datagrid视图中分组

时间:2010-10-25 06:59:05

标签: c# .net winforms datagrid datagridview

我有一个场景,我必须按城市名称对PinCode进行分组,就像一个城市可以有很多密码。

我必须在datagrid中的winform中执行此操作。我怎么能这样做,所以在datagrid我可以看到城市之前的+和 - 。

我可以通过嵌套网格来完成它。拜托,帮助。


A列| B栏| C栏

  • 国家
    • 邮政编码| 10,00 | 15,00
    • 邮政编码| 10,00 | 15,00
  • 国家
    • 邮政编码| 10,00 | 15,00
    • 邮政编码| 10,00 | 15,00

感谢。 Shivam

4 个答案:

答案 0 :(得分:6)

您是否在CodeProject上看到了OutlookGrid

这看起来可以让您展开和折叠单个行以及控制排序顺序。因为它扩展了内置的DataGridView控件,所以它甚至支持数据绑定!

但是,似乎当前没有实现嵌套分组,但如果您认为数据的替代表示不合适,您可以考虑自己修改源代码以添加该功能。

答案 1 :(得分:2)

DataGridView控件不支持可扩展/可折叠行或嵌套表。您将不得不使用第三方控件来实现此目的。

或者,查看this article,其中详细说明了如何子类化现有控件。但是,此解决方案不支持数据绑定,这可能会限制其有用性。

答案 2 :(得分:0)

一般概念/逻辑是,创建一个两个不同的数据表,当然至少有一个共同的字段,即它们的关系。然后,在数据集中添加或混合这两个数据表。然后通过声明和初始化datarelation来创建两个数据表的数据关系。最后,将它绑定到Datagridview的数据源。

答案 3 :(得分:0)

使用TreeView对数据进行分组。