在许多现实的应用程序中,报表应绑定的数据被存在在外部 XML 文件中,此文件被存储在共享数据服务器上、或者项目的子目录中。 本文档描述了把 XtraReports 绑定到 XML 数据的原则。 要学习关于其他数据绑定方法的内容,请参阅 提供数据 文档。
有两种不同的方式可以把报表绑定到 XML 数据:
-
第一种方式是创建一个 DataSet 对象。 该类提供了方法,允许加载包含 XML 数据的文件或流 (例如 DataSet.ReadXml 方法)。 在数据被加载到 DataSet 对象之后,就可以使用 DataSet 中的表初始化对象的 XtraReportBase.DataSource 属性。 因此,这种把报表绑定到 XML 数据的方式只可以在运行时刻使用。
注意,在这种情况下,不需要指定 XtraReportBase.DataAdapter 属性,因为当调用 DataSet.ReadXml 方法时,DataSet 对象被自动填充数据。
下面的插图说明了使用 DataSet 类绑定 XML 数据。
-
第二种方式是使用 XtraReportBase.XmlDataPath 属性。 此属性可以被用于设计时刻和运行时刻,来把报表绑定到存储在文件中的 XML 数据源。 在这种情况下,XtraReportBase.DataMember 属性指定 XML 数据源中的数据表。 在为 XmlDataPath 属性指派取值之后,当生成报表时,将从指定的文件中为 XML 数据集填充数据。
注意 对于 XmlDataSource 的属性值,仅当 XtraReportBase.DataSource 属性被设置为 null (在 Visual Basic 中为 Nothing) 时,才被报表使用。 XmlDataPath 属性的优先级低于 XtraReportBase.DataSource 属性。
下面的插图说明了绑定到 XML 数据而不使用数据集。
注意,在把报表绑定到 XML 文件中的数据之后,还需要把每个可绑定的 报表控件 绑定到数据字段。 要获知细节,请参阅 把报表控件绑定到数据 文档。