2009-11-23 62 views
1

我有一个DataGridView(带有WinForms),我将一个特定的行视为其之前行的“子”。这意味着当用户对列进行排序时,该子行将保持连接到父项,因此它始终显示在其下方。DataGridView基于另一行的值排序

我重写了SortCompare方法来处理这个,但我不确定如何去做。在SortCompare中,我知道该行是否有父行,如果是,那么该行是什么。因此,我希望能够说,“如果row1有一个父项,则让排序结果成为将row1的父项与row2进行比较的结果”。但是,如果我没有明确地比较自己的值(我想避免这种情况,所以我不必跟踪数据类型),我该怎么做呢?它使用的比较器是否可用?或者有没有更好的方法来完成我想要完成的任务?

回答

0

我猜你想要小团体。你看过定制DataGridViewGrouper component

您可以为每个行组设置不同的属性,并使用此自定义组件创建组。每个两行组都有一个独特的属性,可以让你将它们组合在一起。对我而言,您必须通过不同的标签或属性以某种方式区分各个组。在这种情况下,没有亲子关系,但我不认为这很重要,因为你想分组他们。