2009-11-23 9 views
1

У меня есть DataGridView (с WinForms), где я обрабатываю определенную строку как «дочерний» строки непосредственно перед ней. Это означает, что пользователь сортирует столбец, эту дочернюю строку, чтобы оставаться прикрепленной к родительскому объекту, поэтому он всегда появляется чуть ниже него.Сортировка DataGridView на основе значения другой строки

Я переопределяю метод SortCompare, чтобы справиться с этим, но я не уверен, как это сделать. В SortCompare я знаю, имеет ли строка родительскую строку, и если да, то какая эта строка. Поэтому я хочу сказать: «Если row1 имеет родителя, пусть результат сортировки будет таким, каким он сравнивал бы родительский ряд row1 с row2». Но как я могу это сделать без явного сравнения самих значений (чего я хочу избежать, поэтому мне не нужно отслеживать типы данных)? Используется ли его компаратор в любом месте? Или просто лучший способ сделать то, что я пытаюсь выполнить?

ответ

0

Я предполагаю, что вы хотите, небольшие группы. Вы посмотрели обычай DataGridViewGrouper component?

Вы можете иметь разные свойства для каждой группы строк и использовать этот настраиваемый компонент для создания своих групп. Каждая группа из двух строк будет иметь четкое свойство, которое позволит вам группировать их вместе. Для меня вам нужно было бы как-то отличить отдельные группы через отдельный тег или свойство. В этом случае отношений родитель-ребенок не существует, хотя я не вижу, что это важно, так как вы хотите их сгруппировать.

Смежные вопросы