Datagridview в C # - пользовательская сортировка столбцов - PullRequest
2 голосов
/ 28 марта 2012

У меня есть сетевое представление данных (Datatable) в C #. Таблица данных заполняется методом Load (IDataReader). Пользователь может сортировать столбцы DGV, щелкая заголовок. Теперь у меня есть один столбец (который изначально в базе данных является текстовым столбцом), для которого я хотел бы реализовать собственный метод сортировки.

Я знаю о возможностях, описанных в MSDN-статье о пользовательской сортировке представлений данных , и, поскольку событие SortCompare не полезно для сеток с привязкой к данным, я бы хотел запустить другой путь:

Я думал о реализации простого собственного типа данных, который реализует интерфейс IComparable. Затем я установил бы тип данных для соответствующего столбца в datatable для этого нового типа данных. Если пользователь щелкает заголовок, вызывается метод сравнения типа данных. Мне нравится этот метод, потому что его можно было бы использовать повторно и для других видов / таблиц данных.

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

1 Ответ

0 голосов
/ 28 марта 2012

смотри это: Сортировка столбцов DataGridView с бизнес-объектами

или: http://www.timvw.be/2007/02/22/presenting-the-sortablebindinglistt/ http://www.timvw.be/2008/08/02/presenting-the-sortablebindinglistt-take-two/

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

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