彩票走势图

NetAdvantage UltraGrid控件常用功能总结

原创|其它|编辑:郝浩|2012-09-13 15:49:44.000|阅读 3028 次

概述:UltraWinGrid是NetAdvantage产品中WinForm控件集中的一个表格控件。UltraWinGrid功能很强大,包括:导入导出 Excel、数据过滤、列求和列求平均值等、绑定数据库数据、排序、制作名片等各种功能。今天主要介绍UltraWinGrid的绑定数据、风格、属性、事件四个常用功能。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

1. UltraWinGrid控件总览
  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文件初始化列名。

 NetAdvantage,WinForm控件,UltraWinGrid,绑定数据,数据过滤

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);

 


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@pclwef.cn

文章转载自:nabila的专栏

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP