• dev控件学习笔记之----CxGrid


    本人总结的DEV学习:希望对大家有所帮助。

    一、是否显示分组工具:

    二、表格左边记录信息显示的宽度:

    三、设置表格行高:

    四、表头文件的水平和垂直设置:多个设置用按住SHIFT后进行多选,然后就可以设置了。

    五、表头加图片设置:

    六、表头样式:可以对整个列进行配置,也可以对单个列进行配置。如果点击某列标题,则styles 是对该列进行配置,如果选择的是表格,则是对整个表格列的样式进行配置。

     七、列的设置:即可以对表格所有列设置,也可以对某一列进行设置。

           1、列可否过滤          2、列可否分组        3、列可否隐藏      4、列可否隐藏分组

           5、列可否移动          6、列可否排序   

    八、数据是否允许【增、删、改】,也可以仅对某个列进行修改。

    九、自应用列宽 

      for i := 0 to adoquery.FieldCount - 1 do
      begin
         //自适应列宽
         cxGrid1DBTableView1.Columns[i].ApplyBestFit();
      end;

    十、在网格最后一行的最后一格回车自动增加一条记录,并跳到新记录的第一格

       设置cxGrid1DBTableView1的

              OptionsBehavior.FocusFirsCellOnNewRecord:=true;

              OptionsBehavior.GoToNextCellOnEnter:=True;

              OptionsBehavior.FocusCellOnCycle:=True;

    十一、.网格中通过Tab跳转,设置

              cxGrid1DBTableView1.OptionsBehavior.FocusCellOnTab:=True;

    十二、表格增、删、改、插入属性

      //列是否允许新增 不允许
      cxGrid1DBTableView1.OptionsData.Appending:=false;
      //列是否允许删除 不允许
      cxGrid1DBTableView1.OptionsData.Deleting:=false;
      //列是否允许插入 不允许
      cxGrid1DBTableView1.OptionsData.Inserting:=false;
      //列是否允许修改 不允许
      cxGrid1DBTableView1.OptionsData.Editing:=false;

     十三、隔行颜色:

           在TcxGridDBTableView下的styles下的

               Content      下的color     代表默认的内容

               contenteven下的color    代表偶数行

               contentodd 下的color     代表奇数行

               Selection 下的color        代表选中行

               

     十四、表格最前列加序号

            1.设置cxgrid的属性, OptionsView.Indicator = True

            2.OnCustomDrawIndicatorCell事件
            var
             FValue: string;
              FBounds: TRect;
            begin
              if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
                begin
                  FValue :=IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index+1);
                  FBounds := AViewInfo.Bounds;
                  ACanvas.FillRect(FBounds);
                  ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
                  InflateRect(FBounds, -1, -1);
                  ACanvas.Font.Color := clBlack;
                  ACanvas.Brush.Style := bsClear;
                  ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
                  ADone := True;
                end;
            end;

       以前代码加放后,存在一个部题,就是那个序号列,比较窄,没有办法加宽。控件设置了不起作用。

     十五、点击表格的指示器程序

          

    procedure TForm1.cxGrid1DBTableView1MouseDown(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
      hitTest:TcxCustomGridHitTest;
    begin
      hitTest:=(sender as TcxGridSite).GridView.ViewInfo.GetHitTest(x,y);
      if hitTest.HitTestCode= htCell then 
        ShowMessage('点击了表格');
      if hitTest.HitTestCode = htIndicatorHeader then
        ShowMessage('点击了表格最左上角的单元格指示器');
      if hitTest.HitTestCode = htRowIndicator then
        ShowMessage('点击了行的指标器');
      if hitTest.HitTestCode = htIndicator then
        ShowMessage('点击了最左下角的单元指示器');

    end;

    十六、增加气泡提示:在电脑的最右下角提示信息

         实例:接上面的实例进行测试。

        

       制做方法:

         1、窗体上增加控件:

              

          2、写代码实现:一行代码即可实现 。

               dxAlertWindowManager1.Show('提示','点击了表格');

    十七、添加所有数据源中的列到CXgrid表格中

          cxGrid1DBTableView1.DataController.CreateAllItems();

  • 相关阅读:
    获取计算机名称
    imagelist用法
    cxgrid的ImageComboBox属性学习
    MlskincolorButton使用方法
    delphi实现窗体组建随窗体大小改变而改变
    判断路径下文件是否存在
    Delphi 按Esc快捷键退出程序的简单方法
    pagecontrol
    LinkedList源码解析
    ArrayList源码分析
  • 原文地址:https://www.cnblogs.com/yclizq/p/11267870.html
Copyright © 2020-2023  润新知