1. 程式人生 > >TCXGRID 屬性解釋

TCXGRID 屬性解釋

restore box value page navigator 方法 tag tom elf

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 ;可見行數

TCXGRID 屬性解釋