高级自定义 > 业务逻辑自定义 > Windchill 中的 Jasper 报告自定义 > 使用 ReportTemplate 创作 Jasper 报告
使用 ReportTemplate 创作 Jasper 报告
与 Jasper Studio 集成
Jasper 报告库是一个开源报告库,可基于设计文件 (.jrxml) 生成报告。设计文件是在 Jasper Studio 中执行的所有创作和设计的 XML 表示。JRXML 文件会自动捕获拖放到设计中的任何图表、表格或其他元素。Jasper Studio 是一个基于 Eclipse 的创作平台,通过该平台可创建 Jasper 设计。
* 
可以将 Jasper Studio 配置为 Eclipse IDE 插件。
在 Jasper Studio 中集成 WINDCHILL JAR 文件的步骤:
1. 创建新的 JasperReports 项目。
2. 在项目特性窗口中打开 Java 构建路径,然后将 Windchill 中的 dataset.jar 添加到该构建路径中。数据集 jar 将日期时间作为后缀,例如:dataset30112020105242.jar。
3. 针对 Jasper 项目执行 Project > Clean 步骤。
4. dataset.jar 添加到 Jasper Studio 目录下的 {STUDIO_INSTALLATION_DIR}\plugins 文件夹中,如下所示。此操作为必需的,由于 Jasper Studio 的 PREVIEW 功能具有自己的类路径,因此可从插件文件夹中读取 JAR 文件。
5. 重新启动 Jasper Studio。
在 Jasper Studio 中创作
Windchill 与 Jasper Studio 的集成过程中,实现 WNCJRDataSource 后,可通过 ReportTemplateJRDataSource 提供对报告模板的支持。
Jasper 报告的创作步骤如下所示:
1. 应在 Jasper Studio 中配置 Jasper 项目。右键单击 ProjectJasper Report 选项。
2. 为 Jasper 文件指定一个名称,然后单击 Next
3. 要创建空记录适配器,请选择 Data Source wizard > One Empty Record adapter > Finish
4. 项目 Outline 不包含任何 Fields
5. 通过 Design 面板的 Basic Elements 选项板,将 Table 元素拖动到 Design 编辑器的详细信息区域。
6. Table Wizard 中,选择 "Create a Table using a new dataset" 选项,然后单击 Next。您可以为同一 Jasper 设计定义多个数据集或多个报告模板。每次创建新数据集时,先前在 Jasper 设计中创建的数据集将作为附加选项显示在向导中。
7. Dataset 向导中,您可以选择从给定源创建数据集,然后选择 Create new dataset from a connection or Data Source 并指定数据集名称。单击 Next
8. Dataset Wizard 中,单击 New 以基于所需的报告模板创建适配器。或者,基于报告模板选择一个现有的适配器。
9. Data Adapter Wizard 中,单击下面突出显示的选项,然后单击 Next
10. 为适配器提供一个名称,然后单击 Finish
11. Open Type Wizard 中,选择所需的报告模板提供者类,如下所示。PartReportTemplate 可用,将其选中,然后单击 OK
12. Data Adapter Wizard 中,验证类名称和适配器名称,然后单击 Finish
13. 此时,在 Data Source Wizard 中,新建的适配器会显示为默认选择。单击 Next
14. Fields Wizard 中,选择报告模板的所有或相关字段并将其从 Dataset Fields 移至 Fields 部分,然后单击 Finish
15. 导航到报告项目的 > Design > Table 中。在表格中创建列,以便可将所有创建的字段均按如下所示放置到每一列中。
16. 创建列后,可将 Fields 拖动到 Table 的每一列。
17. 要添加字段,请单击 Main Report > Table > Properties > Dataset。选择 Use a JRDatasource expression,然后单击“编辑”图标。在 Expression Editor Wizard 中,编辑 ReportTemplateJRDataSource 表达式。为其提供构造函数定义,在此将报告模板名称作为第一个强制参数,将容器路径作为第二个参数 (例如指向容器路径 wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=GOLF_CART),如果未指定容器路径,则默认 Windchill 容器路径将用于定位给定的报告模板。
18. Expression Editor Wizard 中,编辑 ReportTemplateJRDataSource 表达式以指定报告模板名称、容器名称和容器类型。例如:("PartReportTemplate"、"Site"、"Site")。单击 Finish
19. 验证数据集特性是否已更新为包含已修改的表达式。
20. 右键单击数据集,然后选择 Dataset and Query
浏览至 Dataset and Query Dialog,将 Language 从 sql 替换为 csv。单击 OK
21. 在 Jasper Studio 窗口中,单击 Save。要查看报告的预览,请单击 Preview
Prog-Example:
报告名称
JRXML 位置
加载程序位置
输入 JSP 位置
必需的 Reporttemplate QML 位置
Criteriapage 位置
DemoReportObject
<$WT_HOME> /prog_examples/JasperIntegration /JasperReports/Sample/DemoReportObject.jrxml
<$WT_HOME> /prog_examples/JasperIntegration /loadFiles/reports/jasper/loadDemoReportObject.xml
<$WT_HOME>/prog_examples/JasperIntegration/netmarkets/jsp/report/jasper/demoInputPage.jsp
<$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/DocumentReportTemplate.qml
<$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/PartReportTemplate.qml
<$WT_HOME>/prog_examples/JasperIntegration/loadFiles/reports/jasper/PartStateCount.qml
这对您有帮助吗?