0

Delphiでプログラミングを行ってからしばらく経ち、編集ボックスに検索語を入力してdbgridをインクリメンタルに検索する方法の例を探していたところ、次のコードが見つかりましたほとんどの部分ですが、グリッド内のすべての列のフィルター条件をチェックします。グリッド内の 1 つの列 (たとえば、列 1) のみをチェックするようにフィルター条件を制限したいのですが、提供されたコードを使用してそれを行うにはどうすればよいですか? ?

procedure TForm1.Edit1Change(Sender: TObject);
begin
  FDTable1.Filtered := false;
  FDTable1.Filtered := Edit1.Text <> '';
end;

procedure TForm1.FDTable1FilterRecord(DataSet: TDataSet;
  var Accept: Boolean);
var
  i: integer;
begin
  for i := 0 to DataSet.FieldCount - 1 do begin
    Accept := Pos(UpperCase(Edit1.Text),
      UpperCase(DataSet.Fields[i].AsString)) = 1;
    if Accept then exit;
  end;
end;
4

0 に答える 0