как отобразить в dbgrid мой запрос в этом коде?

привет, возможно ли, чтобы этот код отображал в tdbgrid результаты поиска в виде списка, подобного стилю? (например, если я искал john, все данные, содержащие john в определенном поле, будут отображаться в tdbgrid)

procedure Tspcb.dccolbtnClick(Sender: TObject);
begin
  zdctable.First;
  while not zdctable.EOF do
  begin
     if (zdctable.FieldByName('Collector').AsString = dcedit.Text)
     then begin
        cn.Caption := zdctable.FieldByName('Client_Name').AsString;
        col.Caption := zdctable.FieldByName('Collector').AsString;
        pay.Caption := zdctable.FieldByName('Daily_Payment').AsString;
        date.Caption := zdctable.FieldByName('Date').AsString;
        ddate.Caption := zdctable.FieldByName('Due_Date').AsString;
        id.Caption := zdctable.FieldByName('ID').AsString;
        la.Caption := zdctable.FieldByName('Loan').AsString;
        tc.Caption := zdctable.FieldByName('Total_Collectibles').AsString;
     end;

     ShowMessage('click ok for next profile');
     zdctable.Next;
  end;
end;

person Chunk Chunk    schedule 12.04.2013    source источник
comment
oic, как я могу сделать это с моим кодом? надо ли будет все менять?   -  person Chunk Chunk    schedule 12.04.2013
comment
Что ж, я предлагаю вам отредактировать свой вопрос, чтобы спросить «Как», а не «Возможно ли это».   -  person Jerry Dodge    schedule 12.04.2013
comment
У меня есть дежа вю /data-field-entry-search/   -  person bummi    schedule 12.04.2013
comment
хорошо, я думал, что это другой вопрос, потому что я хочу отображать результаты в сетке БД, а не в метках, но если это противоречит правилам, извините, я просто подумал, что было бы правильно задать это другому вопросу. @JerryDodge спасибо за исправление моего заглавие. я просто немного боялся публиковать, как быть, может быть, кто-то не ответит на мой пост, потому что это звучит так, как будто я прошу слишком многого. спасибо   -  person Chunk Chunk    schedule 12.04.2013
comment
@bummi Код на самом деле тот же, но вопрос другой.   -  person Jerry Dodge    schedule 12.04.2013
comment
@JerryDodge, не могли бы вы помочь мне с кодом этого поста?   -  person Chunk Chunk    schedule 12.04.2013


Ответы (1)


Просто добавьте источник данных, установите набор данных свойств в свой набор данных zdctable, добавьте DBgrid в свою форму и установите источник данных свойств в источник данных.

Единственный фрагмент кода, который вам понадобится, находится в OnchangeEvent команды dcedit.

procedure TForm3.dceditChange(Sender: TObject);
begin
   zdctable.FilterOptions:=[foCaseInsensitive]; // if wished
   zdctable.Filtered := Length(dcEdit.Text) > 0;
   if zdctable.Filtered then
      // zdctable.Filter := 'Collector like ' + QuotedStr('%' + dcEdit.Text + '%') 
      zdctable.Filter := 'Collector like ' + QuotedStr('*' + dcEdit.Text + '*') // Zeos- Syntax
   else  zdctable.Filter := '';
end;
person bummi    schedule 12.04.2013
comment
большое спасибо за помощь мне. опубликую позже, если уже получил. хорошего дня. - person Chunk Chunk; 12.04.2013
comment
попробовал код сегодня, но dbgrid ничего не отображал, когда я набрал dedit, попытался также поместить его на кнопку: procedure TForm1.Button1Click(Sender: TObject); begin ztable1.FilterOptions:=[foCaseInsensitive]; // по желанию ztable1.Filtered := Length(Edit1.Text) › 0; если ztable1.Filtered, то ztable1.Filter := 'Коллекционер нравится' + QuotedStr('% + Edit1.Text + %') else ztable1.Filter := ''; конец; но все же dbgrid ничего не отображал - person Chunk Chunk; 14.04.2013
comment
@ChunkChunk Zeos использовал * в качестве подстановочного знака вместо %, я внес правку - person bummi; 14.04.2013
comment
oic вот почему это не сработало. после редактирования все работает, спасибо большое :D - person Chunk Chunk; 15.04.2013