VB.net сортирует столбец, затем сортирует, но сохраняет положение строк - PullRequest
0 голосов
/ 15 сентября 2018

Я могу отсортировать столбец datagridview по автоматическому режиму сортировки. Но моя проблема в том, что когда я установил столбец автоматической сортировки, это означает, что столбец «Состояние» всегда находится в режиме сортировки, и если есть какие-либо изменения данных, он переместится в любое другое место после режима сортировки

enter image description here

enter image description here

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

шаг 1: когда пользователь меняет статус столбца «Статус», данные сортировки не отображаются

шаг 2: затем, когда пользователь щелкает заголовок столбца, он сортирует данные по убыванию

шаг 3: после этого, когда пользователь изменяет какой-либо статус столбца «Статус», он не сортирует, а сохраняет положение строк в представлении данных (это означает, что строка, статус которой изменен, никуда не перемещается)

Есть ли правильный способ достичь этого? Спасибо вам за помощь.

1 Ответ

0 голосов
/ 15 сентября 2018

Вот что я предлагаю в этой ситуации:

  1. Если ваша сетка еще не привязана к DataTable, сделайте это.
  2. Добавьте дополнительный столбец к вашему DataTable с типом данных Integer.
  3. Либо создавайте и связывайте столбцы сетки самостоятельно, но не создавайте один для этого дополнительного столбца, либо скрывайте этот столбец сетки после привязки.
  4. Сортируйте свою сетку по желанию.
  5. Прокрутите DefaultView из DataTable и установите значения в дополнительном столбце последовательно.
  6. Назначьте имя этого дополнительного столбца для свойства Sort DefaultView.

Вот и все. Теперь данные сортируются по этой числовой последовательности в этом столбце, поэтому вы можете вносить любые изменения в остальные данные, не влияя на порядок.

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