码迷,mamicode.com
首页 > 其他好文 > 详细

cxGrid FilterRow 添加左模糊查询,实现 %ABC%

时间:2018-01-29 15:47:03      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:int   string   资料   class   obj   onchange   过程   sed   ble   

参考了 踏雪无痕 的资料 :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;

cxGrid FilterRow 添加左模糊查询,实现 %ABC%

标签:int   string   资料   class   obj   onchange   过程   sed   ble   

原文地址:https://www.cnblogs.com/K-R-/p/8376321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!