我正在尝试将c#中的datagridview组合在一起,它可以处理分层数据(目前只有2个级别),因为我找不到第三方控件,它可以完全按照我需要的方式运行。
我设法扩展/崩溃和全局排序工作(按顶级组排序,然后在每个组内排序)但我想添加一个功能,您可以在顶级组中进行排序。想象一下2列示例,例如
column1 | column2
group 1 | 6
group 1 a | 1
group 1 b | 2
group 1 c | 3
group 2 | 15
group 2 a | 4
group 2 b | 5
group 2 c | 6
我希望用户能够双击“15”单元格,并让它只对“组2 X”行进行排序,其他所有行都保持原样。每个单元格的标签告诉它它的父级是什么,所以我知道给定的行对是否属于同一个子组。但我无法弄清楚逻辑。我尝试为不在同一组中的任何行设置SortResult = 0,但我仍然需要处理一行在子组中而另一行不在的情况。任何想法?
答案 0 :(得分:1)
您可以将数据网格放在列中。我认为这将实现你的目标
答案 1 :(得分:0)
想通了 - 我有一个&&条件我应该有一个|| ... 基本上,如果要比较的那对行中的任何一个不在同一个子组中,只需设置SortResult以反映当前显示哪一个在另一个之前,确保根据升序或降序排序结果。如果两个行都在同一个子组中,那么就像往常一样排序。现在要清理我乱糟糟的代码:)