您的位置:首页 > 其它

NetAdvantage - UltraGrid控件使用总结

2012-02-28 21:28 246 查看
1. UltraWinGrid控件总览

NetAdvantage产品包括:网页控件、WinForm控件、WPF控件等多种产品。目前只用到了WinForm控件。UltraWinGrid是NetAdvantage产品中WinForm控件集中的一个表格控件。UltraWinGrid功能很强大,包括:导入导出Excel、数据过滤、列求和列求平均值等、绑定数据库数据、排序、制作名片等各种功能。

今天主要介绍UltraWinGrid的绑定数据、风格、属性、事件四个常用功能。

2. 绑定数据:

我们有多种方式为UltraWinGrid绑定数据,通过设计器创建:

拖入UltraWinGrid控件自动弹出Quick Start界面,选择Create an UltraDataSource。。

a)DataBands可以看做是一个Table,DataColumns是Band的字段,也可以为Band0添加子表。

b)我们注意到下面有一个<Initialize the scheme from a DataSource>, UltraGrid提供了通过访问Oracle、SqlServer、Access等数据库的db文件初始化列名。



c)为了方便扩展和使用,我们也可以自己创建UltraDataSource

//创建DataSource

private Infragistics.Win.UltraWinDataSource.UltraDataSource ultraDataSource1;

//添加列

this.ultraDataSource1.Band.Columns.AddRange(object[] columns);

this.ultraDataSource1.Band.Columns.Add(string columnKey, Type DataType);

//创建一列

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;

//如果需要修改添加列的显示方式,也需要对Grid添加一些东西

Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand1 = new Infragistics.Win.UltraWinGrid.UltraGridBand("Band 0", -1);//创建响应的GridBind

Infragistics.Win.UltraWinGrid.UltraGridColumn ultraGridColumn18 = new Infragistics.Win.UltraWinGrid.UltraGridColumn("Column 0");....//创建GridColumn,可以修改对应列的属性

Infragistics.Win.UltraWinGrid.UltraGridBand ultraGridBand2 = new Infragistics.Win.UltraWinGrid.UltraGridBand("Band 1", 0);//创建子表的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);

//添加数据

this.ultraDataSource1.Rows.Add(new object[] { 数据... });

DataSource与Grid绑定之后,所有对DataSource的添加删除动作都会实时响应到Grid上。

3. 风格设计

NetAdvantage的Winform控件有统一的style控制,一个窗体工程可以通过StyleManger来加载.isl文件获取整体的风格。每个控件都有UseAppStyling(是否使用StyleManager加载的风格)和UseOsThemes(是否使用操作系统的风格)属性,这两个属性都设置成false,自己单独为控件修改的颜色等风格设计才能显示出来。

还有几个常用的属性:

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控件都包含一个Infragistics.Win.Appearance属性,里面包括Backcolor、AlphaLevel、Image、FontData等一些基本属性。对于UltraWinGrid来说,对于单独行、列、单元格都有自己独立的属性可以设置

列属性

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中的属性可以设置间隔行之间不同显示风格

5. 事件

只列出几个常用的事件

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: