cxgrid属性说明

cxgrid属性说明

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 ;可见行数

你可能感兴趣的:(#,Delphi控件,数学建模)