сортировка подмножества строк в datagridview - PullRequest
0 голосов
/ 18 июня 2009

Я пытаюсь собрать воедино сетку данных в c #, которая может обрабатывать иерархические данные (в настоящее время только 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 для любой пары строк, не входящих в ту же группу, но мне все еще приходится обрабатывать случаи, когда одна строка находится в подгруппе, а другая - нет. есть идеи?

Ответы [ 2 ]

1 голос
/ 18 июня 2009

Вы можете поместить сетку данных в столбец. Я думаю, что это достигнет того, к чему вы стремитесь

0 голосов
/ 18 июня 2009

понял - у меня было условие &&, где я должен был иметь || ... в основном, если любая из пар сравниваемых строк не находится в одной и той же подгруппе, просто установите SortResult, чтобы отразить, какая из них отображается в данный момент перед другой, убедившись, что результат будет отображаться в зависимости от сортировки по возрастанию или убыванию. если обе строки находятся в одной и той же подгруппе, то сортируйте как обычно. Теперь, чтобы очистить мой грязный код:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...