Текущий архив: 2007.01.14;
Скачать: CL | DM;
Вниз
Фильтр Найти похожие ветки
← →
Slimer © (2006-12-25 19:49) [0]Такая у меня опять проблемма: ДБГрид с полями(парадокс), пользователь хочет отфильтровать данные, открывает форму где расположено куча эдитов и комбобоксов... Выбирает то что ему нужно...
И жмет "ОК".
Все бы хорошо, но если пользователь оставит какое-то поле пустым (не нужно фильтровать например поле "улица"), каким образом сформировать фильтр чтоб по этому полю не происходила фильтрация?
Я пишу:Table1.Filter:="Street="+#39"*"#39;
И пустым оставлял... И не работает (Не выводит не одной строки после нажатия "ОК")
← →
Anatoly Podgoretsky © (2006-12-25 19:54) [1]> Slimer (25.12.2006 19:49:00) [0]
Убери совсем из фильтра
← →
Slimer © (2006-12-25 20:01) [2]Так в том то и дело
Там же не одно поле.
Фильтр формируется по нажатии "ОК"
Т.е. что-то типаTable1.Filter:="Street="+#39"*"#39+"Raion="+#39"Центр"#39;
... и так по всем полям.
Не буду же я проверять все возможные комбинации где он ввел значение для фильтра а где оставил пустым
← →
Anatoly Podgoretsky © (2006-12-25 20:04) [3]> Slimer (25.12.2006 20:01:02) [2]
Ну дело твое, меняй профессию.
← →
Slimer © (2006-12-25 20:08) [4]:( Ну и как это сделать (правильно)?
← →
rar © (2006-12-25 20:27) [5]Обычно пробегают по полям и строят запрос на выборку динамически вот выдержка
for i:=0 to ControlCount-1 do
begin
if Controls[i] is TEdit then
begin
Edit:=(Controls[i] as TEdit);
if (Trim(Edit.Text)<>"") then
begin
strSQL:=strSQL+Concat+" (("+Edit.Name+") LIKE """+strParamFind+Trim(Edit.Text)+"%"")";
Concat:="AND";
end;
end;
end;
другого пути нет, терпение и труд :-)
← →
Slimer © (2006-12-26 00:05) [6]А если без SQL? Так же динамически только для Table1.filter:=
← →
Германн © (2006-12-26 00:38) [7]
var
St : String;
begin
St:="";
if "Поле не пустое" then St:=St+"Street="+#39"*"#39;
...
Table1.Filter:=St;
← →
Slimer © (2006-12-26 01:16) [8]
> Германн © (26.12.06 00:38) [7]
Отлично!!:)
Все заработало! Щас допишу до конца и будет то что надо!
Спасибо!
← →
Германн © (2006-12-26 01:21) [9]
> Slimer © (26.12.06 01:16) [8]
>
>
> > Германн © (26.12.06 00:38) [7]
>
>
> Отлично!!:)
Я ещё и вышивать умею и на машинке... Мурррр :)
Страницы: 1 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.011 c