将运行时数据压入报表

一旦基于数据定义文件创建了报表(有关详细信息,请参阅基于数据定义 (TTX) 文件配置报表),您就可以将运行时数据压入报表。

注意:    被压入报表的运行时数据的数据结构必须与数据定义文件中定义的数据结构相匹配。以下示例假设您有一个名为 runtimeResultSet 的 java.sql.ResultSet 对象(具有适当的数据结构)。

将运行时数据压入报表:
  1. 创建一个 ReportClientDocument 对象并打开报表。

    ReportClientDocument clientDoc = new ReportClientDocument();

    clientDoc.open("RuntimeDataReport.rpt", 0);

  2. 从 ReportClientDocument 对象中获取 DatabaseController 对象。

    DatabaseController dbCtrl = clientDoc.getDatabaseController ();

  3. 获得要将数据压入的数据库表,然后使用 DatabaseController 对象的 setDataSource() 方法将 java.sql.ResultSet 数据压入。

    注意:    以下代码将数据压入第一个表。它还假设名为 runtimeResultSet 的 java.sql.ResultSet 对象具有与第一个表匹配的结构。

    ITable table = dbCtrl.getDatabase ().getTables ().getTable (0);

    dbCtrl.setDataSource (runtimeResultSet, table.getAlias (), "RuntimeResultSet");

  4. 从 ReportClientDocument 中获取 ReportSource 对象。

    IReportSource reportSource = clientDoc.getReportSource ();

  5. 获取了报表源之后,您应将其缓存在会话变量中。

    session.setAttribute ("reportsource",reportSource);

一旦缓存了报表源,您就能够查看或导出报表。有关详细信息,请参阅 查看和导出教程


Business Objects
http://www.china.businessobjects.com

支持服务
http://www.china.businessobjects.com