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

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

Фильтр в 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 в списке полей?
:)))


Наверх

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