UltraGrid操作

更新时间:2023-05-29 01:17:51 阅读: 评论:0

UltraGrid 是Infragistics netadvanage 控件库中提供的一个Windows 网格控件,功能强大,完全可以取代VS 中提供的 GridView控件。但不知为何,国内介绍它的文章很少。这玩意功能是相当强大,但其属性设计原理和普通控件不太一样,属性极为复杂,没有手册几乎无法编码。在此我整理了一些资料,权当推广了。本是编程用的参考,文笔随意之处望见谅。kevin cheng 2008-08-20
参考 
    提供商首页:/
术语 
    persist    持续化(保存) 
    property    属性 
greenland    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 
    层级间的关系用外键关联来描述
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,该控件将会继承其父控件的样式设置(而不是什么缺省值)fits 
            如缺省状态下,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                    : 定制的一些外观样式boos是什么意思 
    Band and Column Settings                  : 要展示数据集和列设置 
        Band[0] - 'Band 0'                    :wavecom 
            Columns                          : 展示列设置:Data Schema中定义绑定列,非绑定列 
            Column Arrangement Overview      : 列展示位置设置(类似报表设计器) 
                Column Arrangement Designer  : 分两种:Row layout(可用于复杂表头设置), Group and levels 
    Control Settings                          : 控件所有的属性设置。其实上面的所有设置都可以在这里找到,只是层次深不易找。详见下。 
Feature Picker(UltraGrid功能设置) 
    AutoFit Style              : 列自动适应宽度 
    CardView                    : 卡片视图 
    Column Moving              : 列是否可拖动位置 
    Column Sizing              : 列调整宽度的方式 
    Column Swapping            : 是否允许列交换位置 
    Empty Rows                  : 是否展示空行,空行的样式 
    Filtering                  : 列过滤器 
    Fixed Headers              : 冻结列 
    Fixed Rows                  : 冻结行 
    Header Click Sort Action    : 标题列点击排序方式:单列排序 & 多列方式 
    IDataErrorInfo Support      : 数据错误验证方式 
    Merged Cell                : ?合并单元格 
    Outlook Group By            : Outlook Group 风格(可由用户定制数据分组) 
    Row Selectors              : 行选择符号(一个小箭头) 
    Row Siziing                : 行调整高度的方式 
    Scrolling                  : 滚动条样式 
    Selection                  : 行列单元格选择方式 
    Summaries                  : 统计单元格 
    Updating                    : 是否允许数据行增删改
Control Setting(UltraGrid控件设置·特有属性) 
    Appearance 
    Behavior 
    Data 
    Design 
    Layout 
        DiaplayLayout 
jju            AddNewBox 
            AutoFitStyle 
            Bands 
            EnmptyRowSettings 
            Override 
                AllowAddNew 
                AllowDelete 
                AllowUpdate 
                RowSizing 
            ViewStyle              : SingleBand | MultiBand 
    杂项 
常用操作 
    添加Column: Start\Basic Settings\Data Schema\Manually Define a Schema\添加Column,命名用数据库中的字段名。 
    添加Column Title: Band and Column Settings\Band [0](手动添加Column后)\Columns\选择列\Header\修改Caption属性 
    排序:Picker/Filtring/Allow 
    分组:Picker/OutLook GroupBy/Active 
    编辑:Picker/Update 
    多行表头:Column Arrangement Designer/Add Group/Add Level/把相应的列拖到组下面, 
    隐藏列:Column Arrangement Designer/Show Hide 失望的英语
    单列不可编辑:Band[0]/Column/cellactivation 设置成NoEdit 
    单击单元格选择状态:Band[0]/Column/CellClickAction 
    单元格编辑控件:Band[0]/Column/EditorControl 
    单元格合并:Band[0]/Column/MergedCell。。。 
    冻结列:Picker/Fixed Header
三、UltraGrid 外观控制
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 
■■ Grid                                              ■■ 
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 
动态转载样式文件 
    this.ultraGrid1.ApplyPretFromXml(@"C:\Program Files\Common Files\Infragistics" +雅思在线课程收费 
      @"\Prets\Win\UltraGridBa\l", true);
存取布局文件(可用这玩意设计报表,动态载入) 
    this.ultraGrid1.DisplayLayout.SaveAsXml("l"); 
    this.ultraGrid1.DisplayLayout.LoadFromXml(System.IO.Path.Combine(Application.StartupPath,
@"..\..\l"));
使用Appearance(类似预定义的样式) 
    this.ultraGrid1.DisplayLayout.Appearances.Add("Highlighted" ); 
    this.ultraGrid1.DisplayLayout.Appearances["Highlighted" ].BackColor = Color.Red; 
    this.ultraGrid1.DisplayLayout.Appearances["Highlighted" ].BackColor = Color.White; 
pepperidge    或者直接给预设Appearance赋值 
    this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.White;

本文发布于:2023-05-29 01:17:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/126405.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:设置   数据   控件   对象   外观   样式
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图