![]() |
|
#7
|
||||
|
||||
![]() маленький пример из того, как это делал я:
Код:
procedure TfFilter.btOKClick(Sender: TObject); var kDelim, cnt:integer; dFilt:string; begin kDelim:=0; dFilt:=''; DM.VIEW_DS.Filtered:=False; DM.VIEW_DS.Filter:=''; for cnt:=1 to 3 do begin cb:=TCheckBox(FindComponent('b'+IntToStr(cnt))); if cb.Checked=True then begin ed:=TEdit(FindComponent('b'+IntToStr(cnt)+'ed')); Inc(kDelim); if kDelim>=2 then dFilt:=' and ' else dFilt:=''; DM.VIEW_DS.Filter:=DM.VIEW_DS.Filter+dFilt+ed.Hint+' = '''+ed.Text+'*'''; end end; DM.VIEW_DS.Filtered:=True; Close; end; P.S.: 1. Кол-во ЧекБоксов я знал заранее (3) ... поэтому вбил вручную (но можно и програмно посчитать) 2. Использовались ЧекБоксы и Едиты 3. Применялось только условие AND Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Последний раз редактировалось Yurk@, 20.10.2009 в 23:42. |