在 jrxml 文件中设置输入控件的名称。可能吗?
Set the name of an input control in a jrxml file. Is it possible?
我想在定义它的 jrxml 文件中设置输入控件的名称;这可能吗?
我知道如何通过 Jaspersoft Studio 中的 Repository Explorer 设置输入控件的名称,我知道如何通过 Jaspersoft Server 设置输入控件的名称。
但是,我想在 jrxml 文件中设置输入控件的名称,以便在发布到服务器时自动设置。有没有一个属性可以用,类似下面的:
<parameter name="status_date_minimum" class="java.sql.Date">
<property name="some.property.key" vhalue="Minimum Status Date"/>
<defaultValueExpression><![CDATA[java.sql.Date.valueOf(java.time.LocalDate.now().minusYears(10).withMonth(1).withDayOfMonth(1))]]></defaultValueExpression>
</parameter>
正如@Siddharth 在评论中指出的和 co-worker 向我建议的那样,有一种方法可以在用户界面之外指定控件的标签。
JasperReports Server 将每个报告与一个 XML 文件相关联,该文件似乎是在将您的报告发布到服务器时创建的。 XML 文件包含任何输入控件的标签等信息。
对于 XML 文件的示例,首先将您的报告发布到 JasperReports Server 上的某个位置。就此示例而言,报告文件名为 report.jrxml
,位置为 path/to/your
; JasperReports Server 似乎将您的报告发布到 path/to/your/report/Main jrxml
(根据 JasperSoft Studio Repository Explorer)或 path/to/your/report
(根据 JasperReports Server Web UI)。
其次,从 JasperReports Server 导出您的报告 (via the Web UI or via the command line); JasperReports 服务器将生成一个包含以下内容的 zip 文件:
/index.xml
/resources/path/.folder.xml
/resources/path/to/.folder.xml
/resources/path/to/your/.folder.xml
/resources/path/to/your/report.xml
/resources/path/to/your/report_files/main_jrxml.data
main_jrxml.data
包含来自 report.jrxml
的数据; report.xml
包含任何输入控件的标签。 report.xml
的内容可能类似于下面这样:
<?xml version="1.0" encoding="UTF-8"?>
<reportUnit exportedWithPermissions="true">
<folder>/resources/path/to/your</folder>
<name>report</name>
<version>2</version>
<label>report</label>
<description></description>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<mainReport>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" dataFile="main_jrxml.data" xsi:type="fileResource">
<folder>/resources/path/to/your/report_files</folder>
<name>main_jrxml</name>
<version>4</version>
<label>Main jrxml</label>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.410-04:00</updateDate>
<fileType>jrxml</fileType>
</localResource>
</mainReport>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_minimum</name>
<version>1</version>
<label>status_date_minimum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_minimum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_maximum</name>
<version>1</version>
<label>status_date_maximum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_maximum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<alwaysPromptControls>true</alwaysPromptControls>
<controlsLayout>1</controlsLayout>
</reportUnit>
您可以编辑 reportUnit/inputControl/localResource/label
元素的内容来更改标签的名称。
编辑后,您可以将数据导入JasperReports Server。如果通过命令行导入,我建议导入目录,而不是 zip 文件 - 命令行导入似乎对 zip 格式很挑剔。此外,如果您通过命令行导入,则必须先重新启动 JasperReports 服务器,然后才能 运行 更改后的报告。
我想在定义它的 jrxml 文件中设置输入控件的名称;这可能吗?
我知道如何通过 Jaspersoft Studio 中的 Repository Explorer 设置输入控件的名称,我知道如何通过 Jaspersoft Server 设置输入控件的名称。
但是,我想在 jrxml 文件中设置输入控件的名称,以便在发布到服务器时自动设置。有没有一个属性可以用,类似下面的:
<parameter name="status_date_minimum" class="java.sql.Date">
<property name="some.property.key" vhalue="Minimum Status Date"/>
<defaultValueExpression><![CDATA[java.sql.Date.valueOf(java.time.LocalDate.now().minusYears(10).withMonth(1).withDayOfMonth(1))]]></defaultValueExpression>
</parameter>
正如@Siddharth 在评论中指出的和 co-worker 向我建议的那样,有一种方法可以在用户界面之外指定控件的标签。
JasperReports Server 将每个报告与一个 XML 文件相关联,该文件似乎是在将您的报告发布到服务器时创建的。 XML 文件包含任何输入控件的标签等信息。
对于 XML 文件的示例,首先将您的报告发布到 JasperReports Server 上的某个位置。就此示例而言,报告文件名为 report.jrxml
,位置为 path/to/your
; JasperReports Server 似乎将您的报告发布到 path/to/your/report/Main jrxml
(根据 JasperSoft Studio Repository Explorer)或 path/to/your/report
(根据 JasperReports Server Web UI)。
其次,从 JasperReports Server 导出您的报告 (via the Web UI or via the command line); JasperReports 服务器将生成一个包含以下内容的 zip 文件:
/index.xml
/resources/path/.folder.xml
/resources/path/to/.folder.xml
/resources/path/to/your/.folder.xml
/resources/path/to/your/report.xml
/resources/path/to/your/report_files/main_jrxml.data
main_jrxml.data
包含来自 report.jrxml
的数据; report.xml
包含任何输入控件的标签。 report.xml
的内容可能类似于下面这样:
<?xml version="1.0" encoding="UTF-8"?>
<reportUnit exportedWithPermissions="true">
<folder>/resources/path/to/your</folder>
<name>report</name>
<version>2</version>
<label>report</label>
<description></description>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<mainReport>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" dataFile="main_jrxml.data" xsi:type="fileResource">
<folder>/resources/path/to/your/report_files</folder>
<name>main_jrxml</name>
<version>4</version>
<label>Main jrxml</label>
<creationDate>2018-03-21T18:12:41.759-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.410-04:00</updateDate>
<fileType>jrxml</fileType>
</localResource>
</mainReport>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_minimum</name>
<version>1</version>
<label>status_date_minimum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_minimum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<inputControl>
<localResource
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
exportedWithPermissions="false" xsi:type="inputControl">
<folder>/resources/path/to/your/report_files</folder>
<name>status_date_maximum</name>
<version>1</version>
<label>status_date_maximum</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>2</type>
<mandatory>false</mandatory>
<readOnly>false</readOnly>
<visible>true</visible>
<dataType>
<localResource exportedWithPermissions="false" xsi:type="dataType">
<folder>/resources/path/to/your/report_files/status_date_maximum_files</folder>
<name>myDatatype</name>
<version>0</version>
<label>myDatatype</label>
<creationDate>2018-03-21T18:48:35.602-04:00</creationDate>
<updateDate>2018-03-21T18:48:35.602-04:00</updateDate>
<type>3</type>
<strictMin>false</strictMin>
<strictMax>false</strictMax>
</localResource>
</dataType>
</localResource>
</inputControl>
<alwaysPromptControls>true</alwaysPromptControls>
<controlsLayout>1</controlsLayout>
</reportUnit>
您可以编辑 reportUnit/inputControl/localResource/label
元素的内容来更改标签的名称。
编辑后,您可以将数据导入JasperReports Server。如果通过命令行导入,我建议导入目录,而不是 zip 文件 - 命令行导入似乎对 zip 格式很挑剔。此外,如果您通过命令行导入,则必须先重新启动 JasperReports 服务器,然后才能 运行 更改后的报告。