Сортировка колонки по клику в заголовок DBGrid
Модератор: Модераторы
Сортировка колонки по клику в заголовок DBGrid
Здравствуйте, нужно сделать сортировку колонки по нажатию на заголовок в DBGrid. Подскажите пожалуйста, как это можно сделать?
- Снег Север
- долгожитель
- Сообщения: 3067
- Зарегистрирован: 27.11.2007 15:14:47
- Контактная информация:
Например, отлавливать событие нажатия и добавлять к SQL sortby ...
Я правильно понял, что речь про событие "DBGrid1CellClick" или как? Не понимаю, как система поймёт по какому столбцу сортировать
- wofs
- постоялец
- Сообщения: 379
- Зарегистрирован: 05.10.2009 10:16:55
- Откуда: Астрахань
- Контактная информация:
mrkaban писал(а):Я правильно понял, что речь про событие "DBGrid1CellClick" или как?
onTitleClick (Event handler for mouse click on Title).
mrkaban писал(а):Не понимаю, как система поймёт по какому столбцу сортировать
А это вы ему сами скажете.
У вышеуказанного события есть Column: TColumn. Доступ к имени поля можно получить через Column.FieldName. А дальше просто добавляете к SQL сортировку.
wofs писал(а):mrkaban писал(а):Я правильно понял, что речь про событие "DBGrid1CellClick" или как?
onTitleClick (Event handler for mouse click on Title).
Действительно! Спасибо большое!
wofs писал(а):mrkaban писал(а):Не понимаю, как система поймёт по какому столбцу сортировать
А это вы ему сами скажете.
У вышеуказанного события есть Column: TColumn. Доступ к имени поля можно получить через Column.FieldName. А дальше просто добавляете к SQL сортировку.
Спасибо большое! Буду пробовать!
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
TxDBGrid можно адаптировать (http://visual-t.ru/components.html), могу сказать где пример кода взять для TxDBGrid, будет при щелчке на заголовке сортировать IBX, Zeos, TxDBF
- wofs
- постоялец
- Сообщения: 379
- Зарегистрирован: 05.10.2009 10:16:55
- Откуда: Астрахань
- Контактная информация:
*Rik* писал(а):TxDBGrid можно адаптировать (http://visual-t.ru/components.html)
Ой, спасибо! Уже подсмотрел
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
wofs писал(а):*Rik* писал(а):TxDBGrid можно адаптировать (http://visual-t.ru/components.html)
Ой, спасибо! Уже подсмотрел
Там 2 процедуры надо подключить, их можно вытащить из http://visual-t.ru/files/CrossDesigner.7z, проект CrossMachine.
Процедуры: GetDBSortingField и OnAutoSortDataset.
В модуле XDBGrids есть 2 переменные процедурного типа, процедуры надо к ним привязать:
XDBGrids.GetDataSortField := @GetDBSortingField;
XDBGrids.AutoSortDataSet:= @OnAutoSortDataset;
Если не охота процедуры искать, могу их сюда вытащить, но много букв будет..
- *Rik*
- постоялец
- Сообщения: 453
- Зарегистрирован: 19.04.2011 12:18:51
- Откуда: Урал
- Контактная информация:
alexs писал(а):wofs писал(а):А под IBX возможно адаптировать эту функцию? Я не сообразил как...
А где взять IBX? Я посмотрю что там.
http://visual-t.ru/ibexpress.html
