Требование сортировки списка / коллекции в DataGridview - PullRequest
0 голосов
/ 30 июня 2011

Каковы требования к моему списку / коллекции, чтобы его можно было отсортировать в DataGridView, когда я щелкаю заголовок столбца для сортировки?

Ответы [ 3 ]

0 голосов
/ 30 июня 2011

из форума msdn. Когда вы щелкаете заголовок столбца в DataGridView с привязкой к данным, он вызывает метод ApplySort для IBindingList.Вы можете переопределить метод ApplySort в BindingSource и выполнять там настраиваемые действия.

Таким образом, мой список / коллекция нуждается в импликации IBindingList.

0 голосов
/ 01 июля 2011

Лучшее место для такого рода информации в DataGridView - MSDN.Для более неясных проблем следующим портом вызова является превосходный DataGridView FAQ , написанный Mark Rideout, менеджером программ для DataGridView

. Существует довольно полная статья о связывании данных и DataGridView (включая сортировку) в MSDN с именем Пользовательское связывание данных .

По существу, когда привязка источника данных к сортировке DataGridView работает автоматически, пока источник реализует IBindingList и имеет вспомогательный код для методов интерфейсаработа с сортировкой (например, SupportsSorting должна возвращать true).

Некоторые стандартные источники данных поддерживают сортировку - например, DataTable, но большинство - нет.

В частности,BindingList, хотя он реализует IBindingList, не поддерживает сортировку.Чтобы список объектов был сортируемым, вам нужно создать свой собственный список для сортировки.В Интернете есть несколько примеров этого, использующих классы, производные от BindingList.Выполните поиск по SortableBindingList, чтобы найти его (на самом деле в статье о привязке данных, на которую я ссылался выше, есть пример).

0 голосов
/ 30 июня 2011

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

...