Использую DBGridEh+BDE с фильтрацией. DBGridEh содержит, допустим, 15 столбцов, необходимо сделать возможность фильтрации пользователем у всех столбцов по уникальным значениям в каждом столбце (вообщем как в Excele фильтры).
Вопрос: мне что делать 15 Query с запросом и по каждому столбцу
"SELECT DISTINCT field1 from table order by field1"
...
"SELECT DISTINCT field15 from table order by field15"
и цеплять их к столбцам DBGridEh для выбора значений фильтра.
Может есть какой-нибудь другой выход, на счет такого количества Query? (А если 50 столбцов???)
Кто юзает DBGridEh подскажите по организации фильтра.
Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду
-
- Сообщения: 230
- Зарегистрирован: 31 авг 2006, 13:11
делаеш один Query и каждый раз меняешь запрос
например так
Query1.activate:=false;
Query1.sql:='SELECT DISTINCT field'+inttostr(nfield)+' from table order by field'+inttostr(nfield);
Query1.activate:=true;
nfield - номер столбца.
например так
Query1.activate:=false;
Query1.sql:='SELECT DISTINCT field'+inttostr(nfield)+' from table order by field'+inttostr(nfield);
Query1.activate:=true;
nfield - номер столбца.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
в качестве идеи:
наверняка у тебя существуют поля в которые ты вводишь критерии фильтрации. Проходишь по всем и заполняешь... да хоть StringList этими значениями.
Далее просто каждый раз переформировываешь запрос из исходного, сохранённого в какую-нить переменную
наверняка у тебя существуют поля в которые ты вводишь критерии фильтрации. Проходишь по всем и заполняешь... да хоть StringList этими значениями.
Далее просто каждый раз переформировываешь запрос из исходного, сохранённого в какую-нить переменную
