原創(chuàng)|其它|編輯:郝浩|2012-09-13 15:49:44.000|閱讀 3065 次
概述:UltraWinGrid是NetAdvantage產(chǎn)品中WinForm控件集中的一個(gè)表格控件。UltraWinGrid功能很強(qiáng)大,包括:導(dǎo)入導(dǎo)出 Excel、數(shù)據(jù)過(guò)濾、列求和列求平均值等、綁定數(shù)據(jù)庫(kù)數(shù)據(jù)、排序、制作名片等各種功能。今天主要介紹UltraWinGrid的綁定數(shù)據(jù)、風(fēng)格、屬性、事件四個(gè)常用功能。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
1. UltraWinGrid控件總覽
UltraWinGrid是NetAdvantage產(chǎn)品中WinForm控件集中的一個(gè)表格控件。UltraWinGrid功能很強(qiáng)大,包括:導(dǎo)入導(dǎo)出 Excel、數(shù)據(jù)過(guò)濾、列求和列求平均值等、綁定數(shù)據(jù)庫(kù)數(shù)據(jù)、排序、制作名片等各種功能。今天主要介紹UltraWinGrid的綁定數(shù)據(jù)、風(fēng)格、屬性、事件四個(gè)常用功能。
2. 綁定數(shù)據(jù)
我們有多種方式為UltraWinGrid綁定數(shù)據(jù),通過(guò)設(shè)計(jì)器創(chuàng)建:
拖入U(xiǎn)ltraWinGrid控件自動(dòng)彈出Quick Start界面,選擇Create an UltraDataSource。。
a)DataBands可以看做是一個(gè)Table,DataColumns是Band的字段,也可以為Band0添加子表。
b)我們注意到下面有一個(gè)<Initialize the scheme from a DataSource>, UltraGrid提供了通過(guò)訪問(wèn)Oracle、SqlServer、Access等數(shù)據(jù)庫(kù)的db文件初始化列名。
c)為了方便擴(kuò)展和使用,我們也可以自己創(chuàng)建UltraDataSource
//創(chuàng)建DataSource
private Infragistics.Win.UltraWinDataSource.UltraDataSource ultraDataSource1;
//添加列
this.ultraDataSource1.Band.Columns.AddRange(object[] columns);
this.ultraDataSource1.Band.Columns.Add(string columnKey, Type DataType);
//創(chuàng)建一列
Infragistics.Win.UltraWinDataSource.UltraDataColumn ultraDataColumn10 = new Infragistics.Win.UltraWinDataSource.UltraDataColumn("Column 4");
//添加子表
Infragistics.Win.UltraWinDataSource.UltraDataBand ultraDataBand1 = new Infragistics.Win.UltraWinDataSource.UltraDataBand("Band 1");
ultraDataBand1.Columns.AddRange(new object[] {
ultraDataColumn1,
ultraDataColumn2,
ultraDataColumn3,
ultraDataColumn4,
ultraDataColumn5});
this.ultraDataSource1.Band.ChildBands.AddRange(new object[] {
ultraDataBand1});
//為Grid綁定DataSource
this.ultraGrid1.DataSource = this.ultraDataSource1;
//如果需要修改添加列的顯示方式,也需要對(duì)Grid添加一些東西
Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("Band 0", -1);//創(chuàng)建響應(yīng)的GridBind
Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn18 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("Column 0");....//創(chuàng)建GridColumn,可以修改對(duì)應(yīng)列的屬性
Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand2 = new Infragistics.Win.UltraWinGrid.UltraGridBand("Band 1", 0);//創(chuàng)建子表的GridBind
ultraGridBand1.Columns.AddRange(new object[] {...});//初始化GridBind的列
ultraGridBand2.Columns.AddRange(new object[] {...});
this.ultraGrid1.DisplayLayout.BandsSerializer.Add(ultraGridBand1);//添加到Grid上
this.ultraGrid1.DisplayLayout.BandsSerializer.Add(ultraGridBand2);
//添加數(shù)據(jù)
this.ultraDataSource1.Rows.Add(new object[] { 數(shù)據(jù)... });
DataSource與Grid綁定之后,所有對(duì)DataSource的添加刪除動(dòng)作都會(huì)實(shí)時(shí)響應(yīng)到Grid上。
3. 風(fēng)格設(shè)計(jì)
NetAdvantage的Winform控件有統(tǒng)一的style控制,一個(gè)窗體工程可以通過(guò)StyleManger來(lái)加載.isl文件獲取整體的 風(fēng)格。每個(gè)控件都有UseAppStyling(是否使用StyleManager加載的風(fēng)格)和UseOsThemes(是否使用操作系統(tǒng)的風(fēng)格)屬 性,這兩個(gè)屬性都設(shè)置成false,自己?jiǎn)为?dú)為控件修改的顏色等風(fēng)格設(shè)計(jì)才能顯示出來(lái)。
還有幾個(gè)常用的屬性:
this.ultraGrid1.DisplayLayout.CaptionVisible = Infragistics.Win.DefaultableBoolean.False;
this.ultraGrid1.DisplayLayout.Override.HeaderClickAction = Infragistics.Win.UltraWinGrid.HeaderClickAction.SortMulti;
this.ultraGrid1.DisplayLayout.AutoFitStyle = Infragistics.Win.UltraWinGrid.AutoFitStyle.ResizeAllColumns;
4. 屬性
所有的NetAdvantage的WinForm控件都包含一個(gè)Infragistics.Win.Appearance屬性,里面包括 Backcolor、AlphaLevel、Image、FontData等一些基本屬性。對(duì)于UltraWinGrid來(lái)說(shuō),對(duì)于單獨(dú)行、列、單元格都 有自己獨(dú)立的屬性可以設(shè)置
列屬性
ultraGridColumn1.CellActivation = Infragistics.Win.UltraWinGrid.Activation.NoEdit;//列是否可編輯
ultraGridColumn1.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;
行屬性
this.ultraGrid1.DisplayLayout.Override.RowSelectors = Infragistics.Win.DefaultableBoolean.False;
this.ultraGrid1.DisplayLayout.Override.RowAlternateAppearance中的屬性可以設(shè)置間隔行之間不同顯示風(fēng)格
5. 事件
只列出幾個(gè)常用的事件
this.ultraGrid1.ClickCellButton += new Infragistics.Win.UltraWinGrid.CellEventHandler(ultraGrid1_ClickCellButton);
this.ultraGrid1.ClickCell += new Infragistics.Win.UltraWinGrid.ClickCellEventHandler(ultraGrid1_ClickCell);
this.ultraGrid1.DoubleClickCell += new Infragistics.Win.UltraWinGrid.DoubleClickCellEventHandler(ultraGrid1_DoubleClickCell);
this.ultraGrid1.DoubleClickRow += new Infragistics.Win.UltraWinGrid.DoubleClickRowEventHandler(ultraGrid1_DoubleClickRow);
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:nabila的專(zhuān)欄