zoukankan      html  css  js  c++  java
  • cxGrid的FilterRow默认自动匹配左边%而不是右边%

    /==============================================================================
    // 修改cxGrid的FilterRow过滤框的默认值为左匹配
    //==============================================================================

    1、建立一个公共储存过程,如果有其他Unit需要的话必须做全局声明。

    procedure SetCustomFilterRow(cxGridDBBandedTableView: TcxGridDBBandedTableView);
    var
      I: Integer;
      S: string;
    begin
      with cxGridDBBandedTableView, 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、选择cxGrid中的TcxGridDBBandedTableView,找到Events中的DataContoller的Filter的OnChanged,双击后增加调用修改函数的代码

    procedure TFormMainOperation.cxgrddbbandtv1DataControllerFilterChanged(
      Sender: TObject);
    begin
      SetCustomFilterRow(cxgrddbbandtv1);
    end;

    说明:cxgrddbbandtv1是本人实际程序中的cxGrid中的cxGridDBBandedTableView的Name

               TFormMainOperation是本人实际程序中Form的Name

               如果只有一个Form使用可以修改公共调用函数,增加“TFormXXXX.”这样更简单

    注意:右匹配%是否自动带出取决于:选择cxGrid中的TcxGridDBBandedTableView,找到Properties中的DataContoller的Filter的PercentWildcard(默认%一般不需要修改)和SupportedLike(真正起效果的属性)

    TcxGridDBBandedTableView.DataController.Filter.Options :=[fcoCaseInsensitive];//不区分大小写

    Using a checkbox at runtime to make FilterRow Visible/Invisible通过checkbox来控制是否显示

    [delphi] view plain copy
     
    1. procedure TForm1.CheckBox1Click(Sender: TObject);  
    2. begin  
    3.   cxGrid1DBTableView1.FilterRow.Visible := CheckBox1.Checked;  
    4. end;  

    控制焦点是否在FilterRow上

    [delphi] view plain copy
     

    ViewData.FilterRow.Focused := True;  

     
  • 相关阅读:
    OBV15 案例2
    OBV_X3
    涨停板割韭菜走势
    谁有stanford ner训练语料
    CUDA从入门到精通
    MatLab 2014a编译jar包时mcc无法使用的问题
    安装office2013时弹出microsoft setup bootstrapper已停止工作,接着就不能安装了
    Lingo 做线性规划
    C# 连接Paradox DB
    Numpy 数组的切片操作
  • 原文地址:https://www.cnblogs.com/westsoft/p/8503880.html
Copyright © 2011-2022 走看看