![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтр в DBGridEh [D7, IB6.x]
MZ © (2007-04-20 09:54:00)Если кто использует DBGridEh? подскажите по организации фильтра.
Хотелось бы сделать фильтр по нескольким полям как в Excel'е. Для доступа к данным использую FIBPlus. Добавил EHLibFIB,
DbGridEh.dataSourse:=DataSourse1;
DbGridEh.STFilter.visible:=true; //local:=false
DbGridEh.Columns[0].stFilter.DataField:='Name';
DbGridEh.Columns[0].stFilter.KeyField:='Name';
DbGridEh.Columns[0].stFilter.ListField:='Name';
DbGridEh.Columns[0].stFilter.ListSourse:=DataSourse2;
dataSet1.SelectSQL.Add(' select* from users where /*FILTER*/1=1')
dataset2.SelectSQL.Add(' select* from users ')
Все работает но тока для одного поля...
ANB (2007-04-20 11:00:00) [1]
> да в том и дело что он не локальный...DBGridEh.StFilter.
> Local:=false....
Если фильтр не локальный, то нафига вообще извращаться со свойствами ? Все равно в результате SQL на сервер поедет. Только если сделать самому - SQL поедет толковый, плюс этим процессом мона управлять при проблемах/тормозах. А что сгенерит компонент - одному ему известно (если вообще сгенерить сможет)
zdm (2007-04-20 10:48:00) [2]тогда лучше обрабатывать запросами
MZ (2007-04-20 10:40:00) [3]
> zdm © (20.04.07 10:27) [5]
>
> если включил в прогу соответсвующий .pas eh-a, то его св-
> ва
> Options
> 1. dghAutoSortMarking=true
> 2. dghMultiSortMarking=true
>
Да выставлены у меня эти свойства, и EhLibFIB я прицепил, тока если
я использую один DataSourse и для Грида и для Columns[1].StFilter.ListSourse,
то вылетает ошибка "List index out of bounds(1)", а если разные то DataSet2 должен отобрать только те записи, которые включены в DataSet1 после фильтрации...
zdm (2007-04-20 10:29:00) [4]OptionsEh в смысле
zdm (2007-04-20 10:27:00) [5]если включил в прогу соответсвующий .pas eh-a, то его св-ва
Options
1. dghAutoSortMarking=true
2. dghMultiSortMarking=true
MZ (2007-04-20 10:25:00) [6]
> ANB © (20.04.07 10:16) [3]
>
>
> Оно через SQL понадежнее да и частенько пошустрее будет.
> Локальный фильтр - та еще бяка.
> <Цитата>
>
>
да в том и дело что он не локальный...DBGridEh.StFilter.Local:=false....
ANB (2007-04-20 10:16:00) [7]
> MZ (20.04.07 10:13) [2]
Оно через SQL понадежнее да и частенько пошустрее будет. Локальный фильтр - та еще бяка.
MZ (2007-04-20 10:13:00) [8]
> Johnmen © (20.04.07 09:58) [1]
>
>
> > Все работает но тока для одного поля...
>
> И это поле, наверное, имеет индекс 0 в списке полей?
> :)))
>
Да для любого поля работает... проблемы в том чтобы DataSet2 отбирал записи, выбранные DataSet1 после фильтрации
Johnmen (2007-04-20 09:58:00) [9]
> Все работает но тока для одного поля...
И это поле, наверное, имеет индекс 0 в списке полей?
:)))