![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Использование EhLibIBX (сортировки полей таблицы) [D6, IB6.x]
me2 © (2003-06-16 15:05:00)Вот кусок из хелпа по DBGridEh
Objects that sort data in DataSet can use this property to determine how to sort data, on client or on server.
property SortLocal: Boolean;
Description
Set SortLocal to True to allows objects that sort data in DataSet to determine how to sort data, on client or on server. Not all DataSet support sort data on client. One of the DataSet support sort data on client and on server is TClientDataSet.
To have possiblity to sort data in DataSet after sorting markers will be changed. You have to add dlgAutoSortMarkingEh to OptionsEh, set TColumnEh.Title.TitleButton to True for required columns, keep OnSortMarkingChanged event empty, add one of the units EhLib... (EhLibADO, EhLibBDE, EhLibCDS) to "uses" clause of any unit of your project. Now EhLib have objects to sort data in TClientDataSet, TQuery and TADOQuery. You have to write and register you own object to sort data in DataSet that not present in this list.
EhLib Software
Этот грид поддерживает сортировку данных, полученных при помощи TIBQuery, но как выполнить эту сортировку? Все, что написано в приведеннои фрагменте хелпа я сделал, единственное не могу найти свойство SortLocal. Помогите выполнить сортировку именно средствами Eh, а не при помощи самописных SQL-запросов.
me2 (2003-06-16 15:50:00) [21]2 Alexandr © (16.06.03 15:41)
В принципе устроит и клиентская.
Дмитрий Белькевич (2003-06-16 15:46:00) [22]Я, помню, как-то трасил сортировку, давно, правда, было, afaik там для ib функция-затычка была. Правда, в каком модуле - ХЕЗ.
Тем не менее, посмотрел еще раз в EHLibIBX.pas:
{ TSQLDatasetFeaturesEh will try to find line in }
{ TIBQuery.SQL string that begin from "ORDER BY" phrase }
{ and replace line by "ORDER BY FieldNo1 [DESC],...." }
{ using SortMarkedColumns. }
Вроде должен сам сортировать. Может господин Alexandr был бы добр запостить сортировку? Тем более, что там всего пару строк?
Alexandr (2003-06-16 15:41:00) [23]тыж сам написал EHLibIBX.pas
а сортировка какая нужна? серверная (order by)
или клиентская (в датасете)
me2 (2003-06-16 15:38:00) [24]
> 2) есть компоненты.
Какие и где взять? И раскажите подробней как Вы сделали сортировку (не ручками)
me2 (2003-06-16 15:33:00) [25]Но ведь в папке DataService есть модуль EHLibIBX.pas. Или он не дописан?
Alexandr (2003-06-16 15:33:00) [26]есть.
у меня все нормально сортирует.
Правда у меня FibPlus но это не имеет значения.
1) Ручками крикрутить - там всего десяток строк кода
2) есть компоненты.
короче плохо искал, однозначно.
Дмитрий Белькевич (2003-06-16 15:28:00) [27]Кстати: Now EhLib have objects to sort data in TClientDataSet, TQuery and TADOQuery. You have to write and register you own object to sort data in DataSet that not present in this list.
TIBQuery в списке нет. Так чта ... Сам тоже бы не отказался от прикрученной к гриду автосортировки, но, наверно нет такой для ib.
Дмитрий Белькевич (2003-06-16 15:24:00) [28]Как-то сталкивался с этой проблемой. Eh сам по себе ничего не сортирует. Сортируют функции, идущие вместе с eh. А функции для ib нет. Все это ИМХО, но ничего другого, я не нашел, кроме как ручками сортировать.