• TCXGRID 属性解释


    TCXGRID控件:

    属性:

    ActiveLevel: 当前层

    BorderStyle: 窗口风格

    Color: 颜色

    FocusedView: 当前View;

    Font: 字体

    LevelTabs: 类似PageControls头设置

      CaptionAlgnment:标题对齐方式

      Images:图标

      Style:风格

    Levels:

    RootLevelOptions:层选项

      DetailTabsPosition: 类似PageControls头显示位置;

      TabsForEmptyDetails: 如果数据为空是否显示Tabs

    TcxGridLevel组件:

    属性:

          Active: 读写激活该层;

           Controls: 读写指向TCXGrid;

           CanBeVisible: 读取是否能设置可见;

       Count: 读取子层个数;

       Displaycaption: 读取层标题;

       IsMaster: 读取是否cxgrid的最上层;

       Items: 读取层组,例: Items[0]访问第一个层;

       Level: 读取层级数;

      VisibleCount: 读取可见层个数

      VisibleIndex: 读取可见索引个数

      VisibleItems: 读取可见层组,例:VisibleItems[0]访问第一个可见层

      Caption: 读写层标题;

      GridView: 指定或读取该层的Grid显示;

    ImageIndex: 读写图标索引

    Options: TcxGridLevelOptions选项

           DetailFrameColor: 读或写明细表格颜色

           DetailFramWidth: 读或写明细表格

           DetailTabsPosition: 读或写Tab位置,类似PageControlsTabs

    Styles: 样式

    Tab: 读或设置tab样式

    tabsBackground: 读或设置tab背景样式

    Visible: 读或设置是否可见

    方法:

      Add: 增加一个Level;

      Levels[i].Add:增加一个子Level;

    TcxGridDBBandedTableView组件:

    属性:

    BackGroundBitmaps:背景图片选项

      Background:背景图

      Bandbackground:带背景图

      Bankheader:带头背景

      Content:细节区背景

      filterBox:过滤区背景

      footer:注脚背景

      group: 组背景

      header:列头背景

      preview:预览区背景

    Bands:带列表

    DataController: 数据控制

      DataSource:数据源

      DetailKeyFieldNames:主从表时设置细表键字段名

      KeyFieldNames: 主从表时设置关键字段名

      MasterKeyFieldNames:主从表时设置主表键字段名

      Summary:合计组

        FooterSummaryItems:注脚定义

        FooterSummaryItems:组脚定义

    FilterBox:过滤框

      CustomizeDialog:是否自定义过滤条件

      Position:过滤框显示位置

      Visible:显示过滤框

    NavigatorButtons:导航条设置

      Append:增加按钮设置

    Enabled:是否禁用该按钮

    Visible:是否显示该按钮

    ImageIndex:图标ID

           Cancel:取消按钮设置,具体设置同Append;

           ConfirmDelete:删除时是否确认提示

           Delete: 具体设置同Append;

           Edit: 具体设置同Append;

           First: 具体设置同Append;

           Insert: 具体设置同Append;

           Last: 具体设置同Append;

           Next: 具体设置同Append;

           Filter: 具体设置同Append;

           GotoBookmark: 具体设置同Append;

           NextPage: 具体设置同Append;

           Post: 具体设置同Append;

           Prior: 具体设置同Append;

           PriorPage: 具体设置同Append;

           Refresh: 具体设置同Append;

           SaveBookmark: 具体设置同Append;

         OptionsBehavior:行为选项

           AlwaysShowEditor:是否总是显示编辑条

           BandHeaderHints:带头是否显示提示

           CellHints:单元格是否显示提示

           ColumnHeaderHints:列头是否显示提示

           CopyCaptionsToClipboard:是否允许复制标题到剪贴板

           CopyPreviewToClipboard:是否允许复制预览内容到剪贴板

           ExpandMasterRowOnDblClik:是否允许双击行显示明细

           FocusFirstCellOnNewRecord:新增记录时是否焦点指向第一列单元格

           GoToNextCellOnEnter:按回车是否自动跳到下一单元格

           NavigatorHints:是否显示导航条提示

         OptionsCustomize:自定义选项

           BandHiding:是否显示带

           BandMoving:是否允许拖动带

           ColumnFiltering:是否允许列过滤

           ColumnGrouping:是否允许列分组

           ColumnHiding:列头是否隐藏

           ColumnHorzSizing:是否允许调整列宽度

           ColumnMoving:是否允许列拖动

           ColumnSorting:是否允许列排序

           ColumnVertSizing:是否允许调整列高度

           DataRowSizing:是否允许调整数据行高度

           GroupBySorting:是否允许组排序

           GroupRowSizing:是否允许调整组行高度

    OptionData: 允许数据操作

         Appending: 是否允许增加

         CancelOnExit: 退出时是否自动取消修改

         Deleting: 是否允许删除

         DeletingConfirmation: 删除是否提示

         Editing :是否允许编辑

         Inserting: 是否允许插入

      OptionsSelection: 单元格操作

         CellMultiSelect:是否允许选择多单元格

         CellSelect: 进入单元格是否选择

         InvertSelect: 是否允许转换选择

         MultiSelect: 是否允许多行选择

         HideFocusRectOnExit: 移开是否隐藏焦点

         UnselectFocusedRecordOnExit:移开是否允许取消焦点

     OptionsView:表格选项

         BandCaptionsInColumnAlternateCaption:是否允许在列里修改带标题

         BandHeaderHeight: 带头高度

        BandHeaderLineCount: 带头显示行数

        BandHeaders: 是否显示带头

        CellAutoHeight:单元格是否自动高度

        CellTextMaxLineCount: 单元格文本最大行数

        ColumnAutoWidth: 列是否自动宽度

        DataRowHeight: 数据行高度

        Footer:是否允许显示注脚

        FooterAutoHeight: 注脚是否自动适应高度

        FooterMultiSummaries:是否允许多注脚

        GridLineColor:表格行线颜色

        GridLines:显示表格行线类型

        GroupByBox:是否允许拖动列到分组区进行分组

        GroupFooters:显示组脚类型

        Header:是否显示列头

        HeaderAutoHeight:列头是否自动适应高度

        HeaderHeight: 列头高度

        IndicatorWidth:是否显示左边指示条

        IndicatorWidth: 指示条宽度

        Navigator: 是否显示导航条

        NavigatorOffSet: 导航条偏移位置

        ShowColumnFilterButtons: 是否显示列过滤按钮

        ShowEditButtons: 是否显示编辑按钮

    Preview:预览选项

      AutoHeight:是否自动适应高度

      Column:要预览的列,只能选一列

      LeftIndent: 左缩进点数

      MaxLineCount:最大显示行数

      RightIndent:右缩进点数

      Visible: 预览是否可见

    PopupMenu:弹出菜单

    Styles:样式或风格组

      BackGround:背景风格

      Content:明细风格

      Footer:注脚风格

      Group:组风格

      GroupSummary:组合计区风格

      Header:头风格

        Indicator:指示区风格

        Preview:预览区风格

      Selection:选择区风格

      StyleSheet:风格组,选中后自动设置各区风格

       方法或函数:

          CreateColumn:

    参数:无;

    功能:新建一列;

    返回:返回列类型结果;

          GetColumnByFieldName:

     参数:字段名串;

    功能:取得指定字段列;

    返回:返回列类型结果;

    例:MyTV.GetColumnByFieldName('First').Visible := False;

           CleaarItems:

    参数:无;

    功能:清除全部显示列;

    返回:无

     CreateItem:

    参数:无;

    功能:建一显示列;

    返回:列类型值

    StoreToIniFile:导出布局到Ini文件

      StoreToRegistry:导出布局到注册表

      StoreToStream:导出布局到流体

    RestoreFromIniFile: 从Ini文件恢复布局

    RestoreFromRegistry:从注册表恢复布局

    RestoreFromStream:从流体恢复布局

    FindItemByID:根据ID号查找列

    FindItemByName:根据列名查找列

     FindItemByTag:根据Tag查找列

     IndexofItem:返回列的序号

     CreateViewInfo:建表格

    TCXGRID用法指南

    假设已设定以下变量

    MycxGrid: TcxGrid;

    MycxGridLevel: TcxGridLevel;

    MyTV: TcxGridDBTableView;

    MyDataSource: TDataSource;

    方法:

    一、     建层和层视图

       MycxGrid := TcxGrid.Create(self);

    MycxGridLevel := MycxGrid.Levels.Add; //建层

    MyTV:= TcxGridDBTableView(MycxGrid.createview(TcxGridDBTableView));//建视图

    MycxGridLevel.Control := MycxGrid;//指定关系

    MycxGridLevel.GridView := MyTV;//指定视图

    TcxGridDataController(GetDetailDataController(FocusedRecordIndex,   0)).GridView;//得到下层视图

    二、设定表格位置和大小

    MycxGrid.ParentWindow := self.Handle;

    MycxGrid.Top := 0;

    MycxGrid.Height := 200;

    MycxGrid.Width := 400;

    MyTV.Preview.visible := true;

    三、         设定数据源及分配全部字段

    MyTV.DataController.DataSource := MyDataSource;

    MyTV.DataController.DeleteAllItems; //清除全部字段

    MyTV.DataController.CreateAllItems; //建全部显示字段

    四、         动态增加显示列及列访问

    var

      iIndex: integer;

      vCol: TcxGridDBColumn;

      vImgCom: TcxImageComboBoxItem;

      i,j: integer;

    for i:= 0 to Mydatasource.dataset.FieldCount -1 do

    begin

      vCol := MyTV.CreateColumn;

             vCol.DataBinding.FieldName:=Mydatasource.dataset.Fields[i].FieldName;

      if (i = 1) then

      begin

         vCol.PropertiesClassName := 'TcxImageComboBoxProperties';   ////分区分大小写

         vCol.DataBinding.ValueType := 'String';

         for j := 0 to 5 do

         begin

    vImgCom:=TcxImageComboBoxProperties(vCol.Properties).Items.Add;

           vImgCom.Description := IntToStr(j);

           vImgCom.Value := IntToStr(j);

         end;

       end; 

    end;

    showmessage(MyTV.Columns[0].Caption);//列标题访问

    showmessage(MyTV.Columns[0].DataBinding.FieldName);//列字段名访问

    MyTV.Columns[0].SortIndex := 0;

    MyTV.Columns[0].SortOrder := soAscending; //列升序排序

    MyTV.Columns[0].SortIndex := -1;

    MyTV.Columns[0].SortOrder := soNone; //取消列排序

    MyTV.DataController.Search.Locate(MyTV.GetColumnByFieldName(FieldName).Index, 查找值);// 列值搜索

    MyTV.DataController.FocusedRowIndex := MyTV.DataController.FocusedRowIndex - 1;//记录回翻,即Prior;

    DBView.DataController.FocusedRowIndex := DBView.DataController.FocusedRowIndex + 1; //记录后翻,即Next;

    Aa:=MyTV.datacontroller.values[1,1] ;// 访问第二行第二列的值

    MyTV.Columns[0].DataBinding.ValueTypeClass := TcxStringValueType;//设置列字段类型,

    其他如整型[TcxIntegerValueType],浮点型[TcxFloatValueType];

    //设置列风格:

    MyFirstColumnStyle := TcxStyle.Create(Self);

    MyFirstColumnStyle.Color := clAqua;

    MyFirstColumnStyle.TextColor := clBlue;

    MyTV.Columns[1].Styles.Content := MyFirstColumnStyle;

    //设置列下拉框选择列表及类型

    var

       A:TDataSource:

       B:TcxlookupcomboboxProperties;

           begin

       A:=TDataSource.create(self);

       B:=tcxlookupcomboboxproperties.create(self);

       A.Dataset:=Dic_ry_xb;//此处指定数据源。

       B.listdource:=A;//此处指明字段的listsource属性。

       B.keyfieldnames:='a';    //此处指明字段的关键字段

       B.listfieldnames:='b';   //此处指明字段的返回值。

       B.listcolumns.items[0].caption:='x’;  //此处默认是会建立一个字段,但是显示的表头是name,所以此处让它显示为自己想要的中午显示。

       MYTVc1_sex_code.Properties:=B;  //此处指明是那个字段。

     end; 

    五、         设置列外观

    MyTV.OptionsView.ColumnAutoWidth := true //列自动宽度

    MyTV.OptionsView.CellAutoHeight := true //单元自动高度

    MyTV.OptionsView.Footer := true //表格合计行显示

    MyTV.OptionsView.Header := true // 表格头显示

    MyTV.OptionsView.Indicator := true  //显示指示条

    MyTV.OptionsView.GroupByBox:=true  //显示分组框

    MyTV.Preview := True //显示预览区

    六、         设置表格样式

      var MyStyleSheet:TcxGridTableViewStyleSheet;

        MyStyle :TcxStyle;

    begin

       MyStyleSheet := TcxGridTableViewStyleSheet.Create();

       MyStyle := TcxStyle.Create(self);

       MyStyle.Color := clBlack;

       MyStyle.TextColor := clWrite;

       MyTV.Styles.Background := MyStyle; //设置背景样式

       MyStyleSheet.AddStyles(MyStyle);//分配样式

       cxStyleRepository.CreateStyleSheet(MyStyleSheet);

       MyTV.Styles.StyleSheet := cxStyleRepository; //分配样式

    End;

    七、         设置Preview列

      前提条件是设置footer=true;

      MyTV.Preview.column := MyTVField1;//设置预览列

      MyTV.Preview.MaxLineCount := 4;//设置预览列最大显示行数

      MyTV.Preview.LeftIndent :=150; //显示左缩进

    MyTV.Preview.RightIndent :=150;//显示右缩进

    八、         Footer设置

      Var ASummary: TcxDataSummary;

         MyFooterItems :TcxDataFooterSummaryItems;

      Acolumn :TcxGridDBColumn;

      ASummary := MyTV.DataController.Summary;  //提取Footer;

      MyFooterItems := ASummary.FooterSummaryItems; //提取FooterItems;

     //增加FooterItems

      With TcxGridDBTaleSummaryItem(MyFooterItems.add) do

    Begin

    try

      Try

    Beginupdate;

    Column := TcxGridDBColumn(MyTV.VisibleColumns[0]; //Footer显示列位置

    AColumn := TcxGridDBColumn(MyTV.VisibleColumns[0];

    If assigned(AColumn) then

      FieldName := AColumn.dataBinding.FieldName; //Footer计算字段

    Kind := TcxSummaryKind(skSum);

     //skNone=无.skSum=合计;skMax=取最大值,

    //skCount=//记录数,skAverage=平均数

      Finally

        Endupdate;

      End;

    Except

      Showmessage(‘error’);

    MyFooterItems.Items[MyFooterItems.Count-1].Free;//报错释放刚加入的

    End;

    End;

    //删除FooterItems

    MyFooterItems := TcxGridDBTableSummaryItem(MyFooterItems[0]);

    If MyFooterItems.FieldByName<>’’ then

    For i:= 0 to MyTV.VisibleColumnCount -1 do

    Begin

      AColumn := TcxGridDBColumn(MyTV.VisibleColumns[i]);

      If AColumn.DataBinding.FieldName = MyFooterItems.FieldName then

        Break;

     End;

    If Assigned(MyFooterItems.Column) then

      MyFooterItems.Items[0].Free;

    九、         建Band

    Var MyBand : TcxGridBand;

    MyBandViewInfo: TcxGridbandViewInfo;

    MyBand := MyTV.Bands.Add;

    MyBand.Caption : =’新建带’;

    MyBandViewInfo:= MyTV.ViewInfo.HeaderViewInfo.BandsViewInfo[MyBand.visibleIndex];

    MyTV.Controller.LeftPos := MyBandViewInfo.Bounds.right;

    十、         主从表明细嵌套关联设置

      MyTV.DetailKeyFieldNames := mastered; //主表关键列

      MyTV.KeyFieldNames := ID; //子表对应关键列

      MasterKeyFieldNames := ID;//子表自己的关键列

      子表ADOQUERY的indexFieldNames := mastered;

    十一、组设置

      MyTV.DataController.Groups.FullExpand;//组展开

    MyTV.DataController.Groups.Collapse;//组收缩

    十二、记录操作

    MyTV.Datacontroller.Append;//增加记录

    MyTV.Datacontroller.Insert;//插入记录

    MyTV.Datacontroller.Values[0.1]:=’a’;//单元格赋值

    MyTV.Datacontroller.Cancel;//取消修改

    MyTV.Datacontroller.Post;//提交保存

    MyTV.Datacontroller.DeleteFocused;//删除当前记录

        MyTV.Controller.Controller.FocusedRow.IsFirst ;//是否第一行

    MyTV.Controller.Controller.FocusedRow.IsLast  ;//是否最后行

    MyTV.DataController.Options.FocusTopRowAfterSorting :=True;//排序后指向第一行

    MyTV.ViewInfo.VisibleRecordCount ;可见行数

  • 相关阅读:
    项目架构
    RoadFlow Asp.Net Core工作流配置文件说明
    RoadFlowCore 解决方案介绍及开发概述
    RoadFlow2.7.5 MyController.cs
    RoadFlow开源工作流源码-项目架构分析
    ORACLE EXP-00011:表不存在的分析和解决方案
    Caused by: java.sql.SQLSyntaxErrorException: ORA-00932: 数据类型不一致: 应为 NUMBER, 但却获得 BINARY
    OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)
    Swift字典
    [iOS翻译]《iOS7 by Tutorials》在Xcode 5里使用单元測试(上)
  • 原文地址:https://www.cnblogs.com/yangxuming/p/7760663.html
Copyright © 2020-2023  润新知