Динамическая фильтрция DBGrid

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
helga
новенький
Сообщения: 14
Зарегистрирован: 26.05.2016 19:51:06

Динамическая фильтрция DBGrid

Сообщение helga »

В общем такой вопрос. Запросом выбираются данные из бд и выводятся в DBGrid

Код: Выделить всё

  SQLQuery1.Close;
   SQLQuery1.SQL.Clear;
   SQLQuery1.SQL.Text:= 'select ... и тд'
  SQLQuery1.Open;
  DBGrid2.DataSource:=DataSource1;
  DBGrid2.Columns[0].FieldName:= 'grouping';
  DBGrid2.Columns[1].FieldName:= 'begDate';
  DBGrid2.Columns[2].FieldName:= 'endDate';
   DBGrid2.Columns[3].FieldName:= 'code';   ... и тд

на форме LabeledEdit1 при вводе в который надо динамически фильтровать отображаемые данные содержащие их.

Код: Выделить всё

Tmain.LabeledEdit1Change(Sender : TObject);
begin 
  DBGrid2.DataSource.DataSet.Filtered := False;     
  DBGrid2.DataSource.DataSet.Filter:='code like %' + LabeledEdit1.Text + '%';
  DBGrid2.DataSource.DataSet.Filtered := True;
end;

в делфи все было без проблем..( например stomers.Filter := '([PIN] LIKE %' + EditF11L.Text + '%) or ') а тут какой синтаксис?
Подскажите пожалуйста.
Zhanat
новенький
Сообщения: 21
Зарегистрирован: 06.09.2013 08:46:40

Сообщение Zhanat »

На Firebird + Lazarus

Код: Выделить всё

 SQLQuery1.Filter := '(Stolbec = ''*' + Edit1.Text + '*'')';  
helga
новенький
Сообщения: 14
Зарегистрирован: 26.05.2016 19:51:06

Сообщение helga »

Zhanat писал(а):На Firebird + Lazarus

Код: Выделить всё

 SQLQuery1.Filter := '(Stolbec = ''*' + Edit1.Text + '*'')';  

:D Спасибо! оказывается проблема в % на *
Ответить