它可以用来在本地 ADO.NET 数据集中获取额外丰富的数据视图。ComponentOne 的 ADO.NET DataExtender™ 控件简化了 ADO.NET 的使用,可以自动从数据库中读取架构和数据,将数据库表格与视图作为常规的 ADO.NET 对象来公开,并可以提供一种能够创建自定义数据视图的能力。

特性

简化的数据绑定

只需要有一个 C1DataViewSet 组件就可以充当所有表格和关系的粘合剂 —— 在不需要 DataExtender 的情况下,而需要两个组件(BindingSource 和 DataAdapter)来代表每个表格或关系。

数据源表示

C1DataViewSet 组件可以代表类型化的 ADO.NET 数据集和非类型化的 ADO.NET 数据集中的数据,也可以代表连接字符串的数据源类型。

自动智能更新

C1DataViewSet.Update 方法可以根据表格之间的主从关系,自动判断出应提交到服务器的行的正确顺序。它还可以用服务器上生成的新的值来刷新客户端行与列,包括服务器生成的自动增量列。

复合视图

无论是在视觉上,还是在使用一个类似 SQL 的语句时,它都可以通过定义一个复合视图来将多个相关表格作为单列集公开。当视图或表格中发生更新时,DataExtender 可以自动同步受影响的行集。

DataSet对象中介

虽然 DataExtender 使用了 ADO.NET,但是您根本不必对 DataSet 对象进行处理。您只需要指定一个连接字符串,然后 DataExtender 就会自动从数据库中读取架构和数据,将数据库表格与视图作为常规的 ADO.NET 对象来公开,并可以提供一种能够创建自定义数据视图的能力。

类型化的视图集定义

使用 DataExtender,您可以创建强类型化的视图集合定义,这对您的项目而言是全球性的。这些其中包含完整的 IntelliSense 支持的类型化 DataViewSet,可以作为项目级别的条目存在,并且可以在您应用程序中以多种形式重复使用。

一致的客户端与服务器端过滤功能

当它的定义语句中包含了 WHERE 子句时,C1DataView 可以执行服务器端的过滤功能,同样这也可以作为一个客户端过滤器。

丰富的定制

C1DataViewSet 组件拥有一组丰富的自定义处理事件,包括行导航、变更发生等。为了方便使用,所有的 C1DataView 事件都通过父 C1DataViewSet 控件传递,而 C1DataViewSet 事件的数据可以用来确定事件发生在哪个 C1DataView。

计算列

它可以使用任何.NET 兼容的语言在 C1ViewSetDesignerForm 中指定只读的计算列,或者作为类似 SQL 语句的一部分定义视图。在运行时,列表达式可以当任意绑定控件的交互触发导航和更新时,进行计算。

约束表达式

使用任何.NET 兼容语言的语法,DataExtender 可以支持列和行级别的数据验证表达式,并允许开发人员去定义对无限复杂性的约束。可视化设计器还可以提供一些表达式生成器来处理许多常用的数据验证情景。

将显示属性附加到数据列的能力

它可以用来将显示属性附加到数据列,包括数据的输入掩码、显示格式,以及包含 DataExtender 的值翻译映射。例如,显示客户的名称,而不是订单表格中的 ID。

超越视图级别的限制

DataExtender 已经超越了视图级别的界限。例如,它不但可以从需求的服务器上获取数据并更新数据回发到服务器,而且它还可以对数据额外的限制进行定义。