如何在不敏感的情况下对Delphi的TClientDataset进行过滤?

更新于
2026-10-05 00:07:48
0阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计176个文字,预计阅读时间需要1分钟。

我需要过滤一个TClientDataset,实际上我使用了以下代码。如果Value不为空,则执行以下操作:禁用控件,尝试将Filtered设置为False,然后设置Filter为'Value LIKE ''%'+QuotedStr(Value)+'%'''。

我需要过滤一个TClientDataset,实际上我使用这个代码.

if Value<>'' then begin ClientDataSet1.DisableControls; try ClientDataSet1.Filtered := False; ClientDataSet1.Filter := 'Value LIKE ' + QuotedStr('%'+Value+'%'); ClientDataSet1.Filtered := True; finally ClientDataSet1.EnableControls; end; end;

但是过滤器工作在区分大小写的模式下,是否可以过滤记录忽略的情况?

必须将 FilterOptions属性与foCaseInsensitive值一起使用.

ClientDataSet1.DisableControls; try ClientDataSet1.Filtered := False; ClientDataSet1.FilterOptions := [foCaseInsensitive]; ClientDataSet1.Filter := 'Value LIKE ' + QuotedStr('%'+Value+'%'); ClientDataSet1.Filtered := True; finally ClientDataSet1.EnableControls; end;

本文共计176个文字,预计阅读时间需要1分钟。

我需要过滤一个TClientDataset,实际上我使用了以下代码。如果Value不为空,则执行以下操作:禁用控件,尝试将Filtered设置为False,然后设置Filter为'Value LIKE ''%'+QuotedStr(Value)+'%'''。

我需要过滤一个TClientDataset,实际上我使用这个代码.

if Value<>'' then begin ClientDataSet1.DisableControls; try ClientDataSet1.Filtered := False; ClientDataSet1.Filter := 'Value LIKE ' + QuotedStr('%'+Value+'%'); ClientDataSet1.Filtered := True; finally ClientDataSet1.EnableControls; end; end;

但是过滤器工作在区分大小写的模式下,是否可以过滤记录忽略的情况?

必须将 FilterOptions属性与foCaseInsensitive值一起使用.

ClientDataSet1.DisableControls; try ClientDataSet1.Filtered := False; ClientDataSet1.FilterOptions := [foCaseInsensitive]; ClientDataSet1.Filter := 'Value LIKE ' + QuotedStr('%'+Value+'%'); ClientDataSet1.Filtered := True; finally ClientDataSet1.EnableControls; end;