过滤ClientDataSet

时间:2015-07-21 14:26:46

标签: delphi delphi-xe2

我有一个delphi表单,上面有一个cxGrid。此网格通过clientdataset填充记录。

键入一个tedit框并单击一个按钮,我希望能够过滤网格以显示输入到tedit框中的记录。

到目前为止,我有这个但它并没有撤回任何记录。

dmodule.cds.DisableControls;
try
  dmodule.cds.Filtered := False;
  dmodule.cds.FilterOptions := [];

  dmodule.cds.Filter := 'Field LIKE''%' + editSearch.Text+ '%''';

  dmodule.cds.Filtered := True;
finally
  dmodule.cds.EnableControls;
end;

非常感谢任何帮助。

谢谢,

1 个答案:

答案 0 :(得分:3)

请尝试以下简单的更改:

dmodule.cds.FilterOptions := [foCaseInsensitive,foNoPartialCompare];
dmodule.cds.Filter := 'Field LIKE '+ QuotedStr('%'+ editSearch.Text + '%');

我在这里用cxGrid进行了测试,效果很好。