下面是 XtraGrid 套件 —— .NET 开发所必备的组件库 —— 的可用功能的总结。
数据特性
- 完全支持 ADO+ —— XtraGrid 充分利用了 ADO+。 使用这种数据访问体系结构以及内部数据模块与数据呈现相分离,XtraGrid 在其任何模式中都不使用任何额外的缓存。 即使是在对列分组时,XtraGrid 也只使用最少的内存,并且执行此操作与提供数据的数据源一样快捷。
- 支持数据列表 —— XtraGrid 可以使用支持 IList、ITypedList 或 IBindingList 接口及其全部继承接口的任何数据来源。
- 非绑定列 —— 可以组合使用绑定和非绑定数据模式。 只需要通过一个事件,就可以添加非绑定列并提供数据。 最终用户可以编辑非绑定列内的取值,并且更改会被保存到一个自定义数据源中。
- 真正支持 Master-Detail(主/从关系) —— 在绑定模式或非绑定模式中,XtraGrid 都允许建立和呈现 master-detail 信息。 甚至可以使用“向下钻取(drill down)”模式缩放每个细节层,甚至允许轻松操作最复杂的关系集。
- 服务器端数据管理 —— GridControl 和 GridLookUpEdit 控件支持一种称为 服务器模式(Server Mode) 的全新数据绑定模式,特别设计用于支持大数据集 (由 50,000 条及以上记录组成)。 这种数据绑定模式的关键功能有: 在需要时从数据存储中加载一小部分数据,并且在服务器端执行所有 data-aware(数据感知) 操作。 这些功能可以确保快速访问数据,即使是使用了排序、分组、筛选和汇总功能。 请参阅 服务器模式(Server Mode) 来获知更多细节。
数据呈现特性
- 视图基础体系结构 —— XtraGrid 中的每一层次都可以通过不同的视图来呈现。 XtraGrid 有五种视图: 网格视图(Grid View) 使用标准的行列布局显示数据; 布局视图(Layout View) 把记录显示为卡片 (支持多种布局); 卡片视图(Card View) 把数据记录显示为卡片 (使用一种简单的布局); 带区网格视图(Banded Grid View) 和 高级带区网格视图(Advanced Banded Grid View),它们与网格视图类似,但是支持把列放置到带区中。 甚至可以在运行中更改视图。
- 视图存储库 —— 可以创建视图,然后根据需要把它们指派到特定的层中 (在设计时刻或运行时刻)。
- 每层中可以有多个细节视图 —— 可以根据需要把多个细节视图组合到每一层中。 如果在某个层中有一个以上可用的视图,则用户可以通过可选的工具提示或标签页控件来选择所需的视图。
- 为实现了 IList 接口的属性自动创建细节视图 —— 如果网格数据源中的某个特定属性实现了 IList 接口,则自动创建一个细节视图来显示此属性引用的列表的内容。
- 只显示预定义的主/从关系(Master-Detail Relationships) —— 可以显示所有的 (或只显示特定的) 数据源中的主/从关系。
内置编辑
- 有 25 个以上数据编辑器,可以单独使用或作为 XtraGrid 中的内置编辑器。
- 编辑器存储库 —— 可以设置单个内置编辑器,例如把一个图像选取编辑器作为付款方式字段的编辑器,然后在多个所需的网格中使用它。 在使用此存储库并且要添加一种不同的信用卡付款方式时,只需要修改一个内置编辑器。
- 每列中可以有多个编辑器 —— XtraGrid 可以为同一列使用不同的个别编辑器,这证明了 XtraGrid 的灵活性。
视图特性
- 自动对任何数据源进行列排序 —— 使用 XtraGrid,可以对无限多的列进行排序,而不用编写一行代码。
- 自动对任何数据源 (包括 IList) 进行数据筛选 —— 通过其 Excel(R) 样式的筛选功能,可以根据列的内容来筛选数据。 甚至可以在底部显示筛选表达式,保持正确提示用户所查找的内容。 您甚至可以创建自己的自定义筛选对话框,使得筛选功能与最终用户的需求相适应。
- 根据取值和显示文本进行排序 —— 可以指定如何对每列的数据进行排序,是根据编辑值还是显示值来排序。 此外,使用 LookupEdit 和 ImageComboBox 内置编辑器的列在默认情况下使用显示值来排序,而其他列使用编辑值来排序。
- 自定义排序 —— 可以通过接管特定的事件来实现自定义排序算法。
- 可以更改行的可视性 —— 使用一个事件来隐藏记录,或者显示它们,而不考虑视图的筛选情况。
- 筛选的历史记录 —— 视图和列都支持筛选的历史记录功能,允许最终用户把最近使用的筛选标准,应用到在网格内显示的取值。
- 筛选编辑器 —— 这个内嵌的控件提供了高级的功能来为网格控件创建复合筛选标准。 如果以其他方式对网格应用了筛选,则筛选编辑器将会解析该标准,并且以良好的结构形式来呈现它们 —— 由逻辑运算器组合成的独立筛选条件。
- 通过事件为单元格指定自定义文本 —— 可以为任何列提供自定义显示文本,并且可以在打印或导出网格时,或者在根据显示文本对列排序时使用它。
- 可以选中单条和多条记录
- 在主/从模式中缩放细节视图。
网格视图 (及其子类) 的特性
- 自动对任何数据源进行数据分组 —— 允许最终用户对存储在 XtraGrid 中的数据进行分组,并且不限制分组列数,为最终用户提供空前的信息分析与编辑的能力。
- 根据时间间隔进行分组 —— 当对存储了日期/时间值的列进行分组时,可以根据列中取值的日期、月份、或年份部分,或者以更易理解的方式 (今天、明天、星期天、星期一、星期二、下周、下月、上周、上月 ……) 来分组。
- 自定义分组 —— XtraGrid 提供了一个事件来实现自定义分组逻辑。
- 完整的数据汇总功能 —— 汇总功能允许直接在网格内呈现统计信息,诸如最小值、最大值、平均值、和、计数,而无须采用古老难看的使用单个编辑控件的工作方式。 甚至能更进一步: 可以接管汇总功能的特定事件来轻松实现复杂的功能。 标准差、以及其他各种各标样的统计公式都是可用的。
- 根据汇总值对分组行排序。
- 支持固定列和固定带区 —— 此功能被设计用于帮助输入数据,允许在 XtraGrid 的左侧或右侧冻结列和带区。
- 智能调整列宽 —— 使用 AutoWidth 和 BestFit 选项,最终用户可以根据需要管理和控制列宽。
- 单元格合并 —— 使用此功能,在邻近行中有匹配值的单元格将被合并。
- 自定义单元格合并 —— 只需要接管事件来控制如何合并单元格。
- 预览窗格 —— 使用预览窗格,可以允许最终用户直接在网格中查看大文本或备注字段,而无需打开外部编辑器或下拉窗口。
- 新建项行 —— 使用新建项行,可以为最终用户提供一致的插入功能。 该行可以显示在视图的顶部或底部。
- 自动筛选行 —— 允许最终用户直接在该行中键入取值,实现实时筛选数据。
- 行间间隔 —— 此功能允许完全控制个别行之间的间隔,仅需要使用一个属性设置。
- 自定义行高以及在运行时刻调整行高
- 可以选中多个单元格 —— 使用 CTRL 和 SHIFT 键。
- 递进搜索 —— 允许最终用户在 XtraGrid 中实时查找信息。
- 在运行时刻定制列 —— 使用 XtraGrid,通过拖放操作来添加和移除列,最终用户可以按需要控制网格的外观。
- 多种数据滚动模式。
- 相连接的分组面板 —— 使用此功能,最终用户可以对任何细节视图进行分组,而无需在细节视图内显示数据分组窗格。
布局视图的特性
- 多种卡片布局 —— 一列或多列,一行或多行,carousel(椭圆带) 模式,等等。
- 可定制的卡片字段布局
- 支持自动筛选和排序
- 支持选中多张卡片。
- 卡片可以被折叠/展开
卡片视图的特性
- 支持自动筛选和排序 —— 使用“自定义”按钮,最终用户可以为卡片视图应用筛选及排序顺序设置。
- 支持选中多张卡片。
- 卡片可以被展开/折叠。
- 可以更改卡片字段的可视性 —— 最终用户可以通过“自定义”按钮指定特定卡片字段的可视性。
绘制特性
- 支持扩展的外观与感觉。 支持内建的 XP 主题。
- 不同的视图绘制样式 (Office2003、Web、Flat、WindowsXP、Style3D 等)。
- 支持皮肤 —— 皮肤能为应用程序带来令人瞩目的外观与感觉,远胜于常规的绘制标准。
- 分组行支持 Office 2003 样式。
- 外观 —— 一种功能强大的机制,控制网格的整体外观与感觉。 可以定制几乎所有 XtraGrid 的可视化元素的外观,甚至有条件地为它们提供外观设置来反映某些状态,例如出错状态。 XtraGrid 装载了易用的外观编辑器。
- 支持扩展的渐变和 Alpha 混合 —— 使用 XtraGrid,通过在设计时刻的属性设置,可以把渐变和 alpha 混合应用到任何网格元素。
- 自定义绘制 —— 允许根据需要绘制几乎任何 XtraGrid 的元素。
设计时刻
- 支持高级的设计时刻功能 —— XtraGrid 提供了一个高级的设计时刻编辑器和“层设计器(Level Designer)”,允许实际控制 XtraGrid 的每个外观项,而无须编写一行代码。 与其编写代码来管理外观,不如专注于编写代码来处理真实的“令人感兴趣的”任务。 使用高级的设计时刻支持,可以管理这些高级功能,如层、样式、列和汇总。
- 把视图从存储库中指派到层 —— 在“层设计器(Level Designer)”中,可以把特定的视图从存储库中指派到层。 当前被指派到层的视图不会被销毁。
- 功能浏览器 —— 设计时刻工具提供了一个快捷且直观的界面来修改与特定功能相对应的选项。 使用该浏览器来查找那些只对特定功能产生影响的设置。
- 高级外观设计器 —— 使用此设计器,定制网格的外观设置是非常容易的。 如果需要设置特定元素的外观,只需要在“预览”窗口中单击所需的元素,然后相关联的外观对象被会被显示。
- 在设计时刻选中列/带区 —— 不仅可以在属性网格中选中列/带区,也可以在设计时刻直接在 XtraGrid 中选择列/带区。
- 设计时刻在卡片视图中选中卡片字段。
其他特性
- 内嵌菜单 —— 网格控件菜单允许使用一组可以被启用或禁用的标准弹出式菜单,把 XtraGrid 的强大功能和灵活性放置在最终用户的指尖。 使用这些弹出式菜单,最终用户可以调用列定制,应用排序、分组、甚至是创建汇总。
- 列标头和单元格支持工具提示。
- 内嵌数据导航器 —— XtraGrid 套件允许包括内嵌的数据导航器,它与 Microsoft(R) Access(R) 的数据网格相类似。
- 在内嵌导航器中定制按钮 —— 可以把自定义按钮添加到内嵌的导航器中,来实现自定义功能。
- 支持错误信息 —— XtraGrid 支持 IDataErrorInfo 标准接口。
- 保存和加载视图布局 —— XtraGrid 允许在运行时刻和设计时刻保存及加载视图。
- 可以导出为 TXT、HTML、XML 和 MS Excel (R) 格式。
- 打印 (通过 XtraPrinting 库)。
- 可以本地化每项界面元素。