0

こんにちは、このコードで 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;
4

1 に答える 1

2

データソースを追加し、プロパティ データセットをデータセット zdctable に設定し、DBgrid をフォームに追加して、プロパティ データソースをデータソースに設定するだけです。

必要な唯一のコードは、dcedit の OnchangeEvent にあります。

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;
于 2013-04-12T16:44:38.793 に答える