本主题说明如何使用 .NET 数据提供程序把报表绑定到数据。 给出了数据绑定方法的总体说明,并提供了设计时刻和运行时刻示例。 要获得关于可用的其他数据绑定方法的信息,请参阅 数据绑定技术 主题。
必须创建三个对象来为报表提供数据。首先需要一个连接对象来指定数据库的位置和访问它的方法。 其次,必须创建一个数据适配器对象。 数据适配器在物理数据和数据集之间起桥梁作用。 它们使用连接对象来访问数据库。 当数据适配器对象被创建和配置之后,就可以生成一个 数据集 对象 —— 最后一个需要被创建的对象。 数据集对象实际提供报表数据。
.NET 数据提供程序提供了对两种标准数据类型的访问,这样,就有不同的连接对象和数据适配器对象。 OleDBConnection 和 OleDBDataAdapter 对象连接由 OLE DB 公开的数据。 SqlConnection 和 SqlDataAdapter 对象使用由 Microsoft SQL Server version 7.0 或以上版本提供的数据源。 同时,如果不同的第三方数据适配器能够为报表生成和填充数据集,那么也可以使用它们。
有三种方式把报表绑定到 数据集 数据。
- 把 数据集 中的表指派到 XtraReportBase.DataSource 属性;
- 把 数据集 指派到 XtraReportBase.DataSource 属性,并在把 报表控件 绑定到表中的数据字段时,提供所需的表名称;
- 把 XtraReportBase.DataSource 属性设置为 DataView 对象 (此对象被绑定到 数据集 中的表)。
需要通过调用数据适配器的 DataAdapter.Fill 方法,人工把数据填充到数据集中。 例如,可以在预览或打印报表之前执行此操作。 但是,通过把 XtraReportBase.DataAdapter 属性设置为用于创建数据集的数据适配器,可以避免人工填充数据集。 在这种情况下,在需要时,报表将自动把数据填充到数据集中。
注意 |
---|
注意,可以只从数据集中加载预定义数目的记录。 这可能是有用的,当使用大型数据集时,当耗费大量时间来生成报表时。 要完成此任务,则使用 XtraReport.PreviewRowCount 属性。 它的默认值是 0 (意思是忽略此属性)。 |
此外,当绑定数据源包含一个以上数据表时, XtraReportBase.DataMember 属性可以用于指定数据源中的列表 (通常为表),其数据被报表控件使用。 通常,它被 XtraReports 自动设置,但是如果需要,也可以修改其取值。
下面的插图说明了上面所描述的数据绑定机制。