我需要过滤一个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)