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();

 

posted @ 2019-07-30 08:53  yclizq  阅读(944)  评论(0编辑  收藏  举报