Infragistics_UltraGrid

更新时间:2023-05-21 11:43:19 阅读: 评论:0

窗体顶端
myl0197
电脑是我的老婆,编程是我的灵魂,代码是我的语言,按键是我在歌唱。(转贴)
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 19  文章- 0  评论- 9 
Infragistics netadvantage UltraGrid (UltraWinGrid) 编程手记(转载Kevin Cheng's Yard)
 
UltraGrid Infragistics netadvanage 控件库中提供的一个Windows 网格控件,功能强大,完全可以取代VS 中提供的 GridView控件。但不知为何,国内介绍它的文章很少。这玩意功能是相当强大,但其属性设计原理和普通控件不太一样,属性极为复杂,没有手册几乎无法编码。在此我整理了一些资料,权当推广了。本是编程用的参考,文笔随意之处望见谅。kevin cheng 2008-08-20
 
参考
    提供商首页:/
法泉寺
术语
    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
    层级间的关系用外键关联来描述

WinGrid 的外观样式方案
    1)使用 Appearance 对象控制控件的外观和样式
        设置 WinGrid 控件的外观
            · 并不直接设置其字体背景颜色等属性
            · 而是创建或者选择现有的 Appearance 对象(类似Webcss 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 DesignerUltraGrid设计器项目)
    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 PickerUltraGrid功能设置)
    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 SettingUltraGrid控件设置·特有属性)
    Appearance
    Behavior
    Data
    Design
    Layout
        DiaplayLayout
            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; 家校合力
    或者直接给预设Appearance赋值
    this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance.ForeColor = Color.White;

本文发布于:2023-05-21 11:43:19,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/719108.html

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

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