Сортировать DataGridView по DisplayMember - PullRequest
1 голос
/ 24 мая 2010

У меня есть DataGridView, который связан с DataTable. В этой таблице есть несколько внешних ключей. Затем я использую событие CellFormatting, чтобы получить соответствующий текст из другой таблицы базы данных для каждого внешнего ключа.

Я хочу отсортировать DataGridView, когда пользователь щелкает заголовок. Автоматическая сортировка работает, но не корректна, так как сортировка выполняется по ValueMember (идентификатор ForeignKey), а не по DisplayMember (текст).

Я пытался использовать событие SortCompare, но потом прочитал, что оно не работает с DataGridView, которые используют свойство DataSource.

Как это можно сделать?

Спасибо

1 Ответ

1 голос
/ 27 мая 2010

Исправлено это путем добавления вложенного оператора select в начальный оператор.

Из этого:

SELECT id, column1, column2, column3_fk 
FROM   db_table

К этому:

SELECT id, column1, column2, column3_fk, 
       (
         SELECT DESC FROM db_table2 
         WHERE id = db_table1.column3_fk
       ) AS fk_description 
FROM   db_table1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...