是否可以使用不敏感的情况过滤TClientDataset?

Sal*_*dor 3 delphi

我需要过滤一个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;
Run Code Online (Sandbox Code Playgroud)

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

RRU*_*RUZ 13

您必须使用FilterOptions具有该foCaseInsensitive值的属性.

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