CXGRID控件使用说明.docx
- 文档编号:23797758
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:15
- 大小:20.77KB
CXGRID控件使用说明.docx
《CXGRID控件使用说明.docx》由会员分享,可在线阅读,更多相关《CXGRID控件使用说明.docx(15页珍藏版)》请在冰豆网上搜索。
CXGRID控件使用说明
TCXGRID控件:
属性:
ActiveLevel:
当前层
BorderStyle:
窗口风格
Color:
颜色
FocusedView:
当前View;
Font:
字体
LevelTabs:
类似PageControls头设置
CaptionAIgnment:
标题对齐方式
Images图标
Style:
风格
Levels:
RootLevelOptions:
层选项
DetailTabsPosition:
类似PageControls头显示位置;TabsForEmptyDetails:
如果数据为空是否显示Tabs
TcxGridLevel组件:
属性:
Active:
读写激活该层;
Controls:
读写指向TCXGrid;
CanBeVisible:
读取是否能设置可见;
Count:
读取子层个数;
Displaycaption:
读取层标题;
IsMaster:
读取是否cxgrid的最上层;
Items:
读取层组,例:
ltems[0]访问第一个层;
Level:
读取层级数;
VisibleCount:
读取可见层个数
VisibleIndex:
读取可见索引个数
VisibleItems:
读取可见层组,例:
Visibleltems[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:
表格选项
BandCaptionslnColumnAlternateCaption是否允许在列里修改带标题BandHeaderHeight:
带头高度
BandHeaderLineCount:
带头显示行数
BandHeaders:
是否显示带头
CellAutoHeight:
单元格是否自动高度
CellTextMaxLineCount:
单元格文本最大行数
ColumnAutoWidth:
列是否自动宽度
DataRowHeight:
数据行高度
Footer:
是否允许显示注脚
FooterAutoHeight:
注脚是否自动适应高度
FooterMultiSummaries:
是否允许多注脚
GridLineColor:
表格行线颜色
GridLines:
显示表格行线类型
GroupByBox:
是否允许拖动列到分组区进行分组
GroupFooters显示组脚类型
Header是否显示列头
HeaderAutoHeight:
列头是否自动适应高度
HeaderHeight:
列头高度
lndicatorWidth:
是否显示左边指示条
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号查找列
FindltemByName:
根据列名查找列
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;
fori:
=0toMydatasource.dataset.FieldCount-1do
begin
vCol:
=MyTV.CreateColumn;vCol.DataBinding.FieldName:
=Mydatasource.dataset.Fields[i].FieldName;
if(i=1)then
begin
vCol.PropertiesClassName:
='TcxImageComboBoxProperties';////分区分大小写vCol.DataBinding.ValueType:
='String';
forj:
=0to5do
beginvImgCom:
=TcxImageComboBoxProperties(vCol.Properties).Items.Add;vImgCom.Description:
=IntToStr(j);
vImgCom.Value:
=IntToStr(j);
end;
end;
end;
showmessage(MyTV.Columns[0].Caption);//列标题访问
showmessage(MyTVColumns[O].DataBinding.FieldName);//列字段名访问
MyTV.Columns[0].SortIndex:
=0;
MyTV.Columns[O].SortOrder:
=soAscending;//列升序排序
MyTV.Columns[O].SortIndex:
=-1;
MyTV.Columns[O].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[O].DataBinding.ValueTypeClass:
=TcxStringValueType;设置列字段类型,其他如整型[TcxlntegerValueType]浮点型[TcxFIoatValueType];
//设置列风格:
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[O].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//显示预览区
六、设置表格样式
varMyStyleSheet:
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:
=MyTVFieldl;//设置预览列
MyTV.Preview.MaxLineCount:
=4;//
MyTV.Preview.LeftIndent:
=150;//
MyTV.Preview.RightIndent:
=150;//
八、Footer设置
VarASummary:
TcxDataSummary;
MyFooterItems:
TcxDataFooterSummaryItems;Acolumn:
TcxGridDBColumn;
ASummary:
=MyTV.DataController.Summary;//提取Footer;
MyFooterItems:
=ASummary.FooterSummaryItems;/提/取FooterItems;
//增加FooterItems
WithTcxGridDBTaleSummaryItem(MyFooterItems.add)do
Begin
try
Try
Beginupdate;
Column:
=TcxGridDBColumn(MyTV.VisibleColumns[0];//Footer显示列位置AColumn:
=TcxGridDBColumn(MyTV.VisibleColumns[0];
Ifassigned(AColumn)then
FieldName:
=AColumn.dataBinding.FieldName;//Footer计算字段
Kind:
=TcxSummaryKind(skSum);
//skNo门6=无.skSum^计;skMax=取最大值,
//skCount二〃记录数,skAverage=^均数
Finally
Endupdate;
End;
Except
Showmessage‘(error');
MyFooterltems.ltems[MyFooterltems.Count-1].Free;〃报错释放刚加入的
End;
End;
//删除Footerltems
MyFooterltems:
=TcxGridDBTableSummaryltem(MyFooterltems[0]);
lfMyFooterltems.FieldByName<>'t'hen
Fori:
=0toMyTV.VisibleColumnCount-1do
Begin
AColumn:
=TcxGridDBColumn(MyTV.VisibleColumns[i]);
lfAColumn.DataBinding.FieldName=MyFooterltems.FieldNamethen
Break;
End;
lfAssigned(MyFooterltems.Column)then
MyFooterltems.ltems[0].Free;
九、建Band
VarMyBand:
TcxGridBand;
MyBandViewlnfo:
TcxGridbandViewlnfo;
MyBand:
=MyTV.Bands.Add;
MyBand.Caption:
='新建带';
MyBandViewlnfo:
=MyTV.Viewlnfo.HeaderViewlnfo.BandsViewlnfo[MyBand.visiblelndex];
MyTV.Controller.LeftPos:
=MyBandViewlnfo.Bounds.right;
十、主从表明细嵌套关联设置
MyTV.DetailKeyFieldNames:
=mastered;//主表关键列
MyTV.KeyFieldNames:
=lD;//子表对应关键列
MasterKeyFieldNames:
=ID;//子表自己的关键列
子表ADOQUERY的indexFieldNames:
=mastered;
十一、组设置
MyTV.DataController.Groups.FullExpand;/组展开
MyTV.DataController.Groups.Collapse;/组收缩
十二、记录操作
MyTV.DatacontrollerAppend;/增加记录
MyTV.Datacontroller」nsert;//插入记录
MyTV.Datacontroller.Values[0.1]:
='a';〃单元格赋值
MyTV.Datacontroller.Canc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CXGRID 控件 使用说明