![]() |
| ||
|
|
Новости |
Поиск |
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-запросов.
Alexandr (2003-06-17 06:34:00) [1]Для IBX сортировку можно сделать только серверную - путем изменения конструкции в order by и переоткрытия запроса.
именно так видимо делается здесь EHLibIBX.pas
локальной сортировки в IBX нет, соответветственно метода DoSort и тем более DoSortEx нет.
Дописывать сортировку - ну уж нет... проще 500руб за FIBPlus заплатить.
Серверная сортировка очень часто не есть хорошо ибо запрос переоткрывается каждый раз.
Дмитрий Белькевич (2003-06-16 16:58:00) [2]Кажется _всё_ стало ясно, вот ключевые слова: DoSortEx - метод FibPlus. Я-то IBX пользую.
me2 (2003-06-16 16:54:00) [3]А по поводу первого вопроса от me2 (16.06.03 16:35) кто-нибудь что-нибудь знает?
Sandman25 (2003-06-16 16:48:00) [4]Order - это переменная в роли флага
me2 (2003-06-16 16:35:00) [5]А есть ли аналог DoSortEx в IBX?
То что Order это признак сортировки это понятно, но это свойство чего - датасета, грида или чего-то еще?
Ann (2003-06-16 16:34:00) [6]пожалуйста.....
Дмитрий Белькевич (2003-06-16 16:33:00) [7]Ясно, спасибо, посмотрю.
Ann (2003-06-16 16:30:00) [8]ну да.. а я и не говорила что сортирую грид, не в коем разе, НД! :)
Johnmen (2003-06-16 16:28:00) [9]Позволю себе повториться...
Понятие "сортировка" относится к НД, а не к способам его отображения.
Что мы и видим в приведенном примере - DoSortEx метод локальной сортировки НД, полученного с помощью соотв.компонента FibPlus.
Ann (2003-06-16 16:25:00) [10]FDS_dog - это датасет, а Order это признак сортировка, на уменьшение или на увеличение..
Дмитрий Белькевич (2003-06-16 16:20:00) [11]Гм. А что есть Dm.FDS_dog.DoSortEx? Я вообще функции/процедуры dosortex в ehlib не нашел ни у одного объекта.
me2 (2003-06-16 16:19:00) [12]
> Order
Да и это свойство чего?
me2 (2003-06-16 16:15:00) [13]
> FDS_dog
Что это у Вас?
Ann (2003-06-16 16:10:00) [14]мда, еще на ту колонку, по которой сортировка сделать TitleButton=True
Ann (2003-06-16 16:09:00) [15]В опция Eh ставите в true AutoSortMarking, MultiSortMarking
И потом в OnTitleClick что-то вроде этого:
aField := Column.FieldName;
if aField="NAME" then begin
if Order=False then
begin
Dm.FDS_dog.DoSortEx([1],[True]);
Order:=True;
end
else
begin
Dm.FDS_dog.DoSortEx([1],[False]);
Order:=False;
end;
end;
Дмитрий Белькевич (2003-06-16 16:01:00) [16]Мда, у меня 3.0 :) Однако, никому не легче. Так всё таки, что и где писать?
Ann (2003-06-16 15:56:00) [17]2.0 версия...
но все равно обработку ручками писать надо, но там немного...
Johnmen (2003-06-16 15:55:00) [18]Я не понял, где вы нашли сортировку в DBGridEh, да еще и локальную...:)
Дмитрий Белькевич (2003-06-16 15:53:00) [19]2 Ann: какая у тебя версия грида? Может в этом проблема?
Ann (2003-06-16 15:50:00) [20]и у меня прекрасно сортирует.....