Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Групповая сортировка в cxGrid [D7, XP]


onyx2012 ©   (2011-10-26 14:47:00) 

Доброго дня всем. Подскажите, как программно реализовать групповую сортировку в компоненте Express Quantum Grid (cxGrid)?

Если более конкретно, то есть одно поле в гриде, которое должно всегдаиметь sorting order = soAscending. Причем при сортировке оно должно быть первым в группе. Сначала сортируется оно, потом все остальные.

Событие onSortingChanged это сделать не позволяет, т.к. оно происходит уже после сортировки.


onyx2012   (2011-10-26 15:40:00) [1]

Все, разобрался. В Событии onSortingChanged все лишь нужно было прописать

<column>.SortOrder := soAscending;
<column>.SortIndex := 0;


Таким образом нужное поле всегда сортируется по возрастанию и первым в группе


onyx2012   (2011-10-26 15:23:00) [2]

Я использую компоненты ODAC и в них, к сожалению, подобных событий нет :(


И. Павел   (2011-10-26 15:18:00) [3]

> [1] И. Павел ©   (26.10.11 15:08)

TCustomDataSet -> TADOCustomDataSet. Если используете не ADO - то уточните, что именно используете.


И. Павел   (2011-10-26 15:08:00) [4]

Думаю, вам нужно сортировать не Grid а DataSet.
Например, TCustomDataSet имеет метод Sort, куда можно записать сразу несколько полей:
ADOQuery1.Sort := 'LastName ASC, DateDue DESC'


Наверх

Титульная страница Поиск, карта сайта Написать письмо