UltraGrid 是Infragistics netadvanage 控件库中提供的一个Windows 网格控件,功能强大,完全可以取代VS 中提供的 GridView控件。参考
提供商首页:/
术语
persist 持续化(保存)
property 属性
attribute 特性
tting 设置
Band 数据条带
示例图片
头字成语
一、UltraGrid 的基本概念
UltraGrid的属性设计和一般的控件颇为不同。理解其设计思想,有助于你从其浩瀚的属性中快速找到你所需要的东西。在此文中 WinGrid, UltraGrid, UltraWinGrid 是同一个东西。
WinGrid
是一个可展示层级数据的网格控件
数据源实现 IList 或 ITypedList 接口就可以展示(但不一定可以增删)
可展现具有层级关系的数据,如 customers - orders - order details
WinGrid 功能:
· 排序
· 过滤
· 统计
· 行列大小调整
· 冻结列和冻结行
· 列托拽调整位置
· 列互换位置
· 分割视图
· Outlook风格的BroupBy功能(用户可将列拖到分组栏中对数据进行分组)
· 卡片视图
· 数据行的自定义布局
· 单元格可使用多种编辑控件
· 导出到Excel
· 打印
· 其它Infragistics Prentation Layer Framework 的公共特性,如:Apperances, DrawFilters, CreationFilters
WinGrid 数据条带和层级数据
UltraGrid 可表现具有层级关系的数据
每个层级的数据用一个 band(数据条带)来描述
每个 band 具有若干的 column 和 row,类似 DataTable爱600字作文
层级间的关系用外键关联来描述
WinGrid 的外观样式方案
(1)使用 Appearance 对象控制控件的外观和样式
设置 WinGrid 控件的外观
· 并不直接设置其字体背景颜色等属性
· 而是创建或者选择现有的 Appearance 对象(类似Web的css class样式)
· 该 Appearance 对象拥有多种格式相关的属性,如对齐方式、字体、颜色、图像和alpha融合信息
该方式有以下好处:
· 缩减了代码的数量
· 便于控制统一的外观,只需要改 Appearance 对象就可以了
· 对于 Grid 这样具有众多子元素的控件,使用此方式设置外观可有效减少内存消耗
(2)其布局和外观是可持续化保存的
UltraGrid.DisplayLayout 属性(UltraGridLayout类)作为所有可持续化保存的特性和对象的容器
调用该对象的 Load(), Save(), LoadFromXml(), SaveAsXml() 函数可存取外观控制
由于大部分UltraGrid的设置都可以持续化,所以大部分的功能都是通过UltraGridLayout对象进行设置的
(3)样式是可从上级控件继承和重载的
若控件设置其 Appearance 为 Default,该控件将会继承其父控件的样式设置(而不是什么缺省值)
如缺省状态下,cell 使用row的背景色,而row使用band的背景色 到底爱不爱我
Band 对象默认继承上级对象的样式,而使用Override 属性(UltraGridOverride 类)来设置其特殊属性
WinGrid 决定绘制一个对象的外观和行为时
· 先检查该对象的Override属性
· 若该属性内的值被明确修改(非Default),则使用该值
· 否则使用上级对象相应的值(Default)
大部分的属性即可以直接在WinGrid设置,也可以在Band设置,后者会覆盖前者
// 例:默认只能单行选择,而 orders band 允许选择多行
using Infragistics.Win.UltraWinGrid;
UltraGrid1.DisplayLayout.Override.SelectTypeRow = SelectType.Single;
UltraGrid1.DisplayLayout.Bands["Orders"].Override.SelectTypeRow = SelectType.Extended;
卡片视图(Card View)
每条记录用一张卡片来展示,类似表单视图
卡片视图的限制
教育基础知识
只能展现最底层的band数据,无法再展示其子层的数据
无法增加新记录?
设置方法
grid.Band[0].CardView = true;
grid.Band[0]. 样式设置
分组视图(GroupBy View)
类似outlook 2007,可将列拖到分组栏中,让数据分组展示
操作方法:
grid.DisplayLayout.ViewStyleBand = ViewStyleBand.OutlookGroupBy;维修打印机
二、 UltraGrid 设计器操作
UltraWinGrid Designer(UltraGrid设计器项目)
Basic Settings :
Data Schema : 设置绑定列的数据格式
Prets : 从预设中选择一个样式,有三种类型:(1)仅与外观相关;(2)仅与行为相关;(3)两者都有
Manage Prets : 预设管理和设置
Feature Picker : 配置功能。详见后
Appearance Browr : 定制的一些外观样式
Band and Column Settings : 要展示数据集和列设置
Band[0] - 'Band 0' :
Columns : 展示列设置:Data Schema中定义绑定列,非绑定列建水古城
Column Arrangement Overview : 列展示位置设置(类似报表设计器)
Column Arrangement Designer : 分两种:Row layout(可用于复杂表头设置), Group and levels
Control Settings : 控件所有的属性设置。其实上面的所有设置都可以在这里找到,只是层次深不易找。详见下。
Feature Picker(UltraGrid功能设置)
1972属什么 AutoFit Style : 列自动适应宽度
CardView : 卡片视图
Column Moving : 列是否可拖动位置
Column Sizing : 列调整宽度的方式
Column Swapping : 是否允许列交换位置
Empty Rows : 是否展示空行,空行的样式
Filtering : 列过滤器
Fixed Headers : 冻结列
Fixed Rows : 冻结行
Header Click Sort Action : 标题列点击排序方式:单列排序 & 多列方式
IDataErrorInfo Support : 数据错误验证方式
Merged Cell : ?合并单元格1到10数字谜语
Outlook Group By : Outlook Group 风格(可由用户定制数据分组)
Row Selectors : 行选择符号(一个小箭头)
Row Siziing : 行调整高度的方式
Scrolling : 滚动条样式