许多应用程序需要处理C1FlexReport外部的数据, 并将其加载到DataTable对象中。在这种情况下,可以将DataTable对象用作报表数据源,避免在呈现报表时再次加载它们。
此方法在以下应用程序中也很有用:
- 安全限制规定,连接字符串必须保持私有状态,只有数据本身可以公开(而不是数据源)。
- OleDb(C1FlexReport内部使用的提供程序)不支持该数据库。
- 数据根本不是来自数据库。而是使用自定义代码创建并填充DataTable。
要将DataTable对象用作C1FlexReport数据源,只需加载报表定义,然后将DataTable分配给C1FlexReport.DataSource.Recordset属性。例如:
CS
//从缓存或从安全/自定义提供程序 DataTable dt = GetMyDataTable(); //加载报告定义(在设置数据源之前) c1FlexReport1.Load(@"reportFile", "reportName"); //使用DataTable作为数据源 c1FlexReport1.DataSource.Recordset = dt;