参考了 踏雪无痕 的资料 :http://blog.csdn.net/zengcong2013/article/details/12343171
由于 cxGrid 中,使用较多是 cxGridDBTableView 因此调整了一下,更方便 Ctrl V
--------------------------------------------------------------------------------------------------------
cxGrid 的FilterRow 默认是右匹配模糊查询,即 ABC%
因此需要添加代码,实现 %ABC% 左右模糊查询
1、主要处理的过程为
procedure SetCustomFilterRow(cxGridTableView: TcxGridDBTableView);
var
I: Integer;
S: string;
begin
with cxGridTableView, ViewData do
begin
if FilterRow.Focused then
begin
for I := 0 to ColumnCount - 1 do
begin
S := VarToStr(FilterRow.Values[I]);
if (Length(S)> 0) and (S[1] <> '%') then
FilterRow.Values[I] := '%' + S;
end;
end;
end;
end;
2、在 cxGridDBTableView1的 Event—>DataTontroller—>Filter—>OnChanged
添加代码
procedure TForm1.cxGridDBTableView1DataControllerFilterChanged(Sender: TObject);
begin
SetCustomFilterRow(cxGridDBTableView1);
end;