如何根据输入控件切换CSV数据源?

时间:2016-04-21 10:46:20

标签: jasper-reports jasperserver

我使用csv数据源开发了一个 JasperReports 报告,并成功发布在 JasperReports Server 上。

问题:现在,我想根据参数(abc)切换csv数据源。

  • 当参数值" csv1"由用户选择----> sample.jrxml应该连接到" csv1"
  • 的路径
  • 当参数值" csv2"由用户选择----> sample.jrxml应该连接到" csv2"
  • 的路径

注意:我没有在sample.jrxml文件中使用表

谁能告诉我如何实现这个目标?

1 个答案:

答案 0 :(得分:1)

If you are using a CSV file as the source for your data, you could do something like this in your JRXML:

<parameter name="switchParam" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA["abc"]]></defaultValueExpression>
</parameter>
<parameter name="net.sf.jasperreports.csv.source" class="java.lang.String" isForPrompting="false">
    <defaultValueExpression><![CDATA[$P{switchParam} == "abc" ? "path/to/CsvDataSource1" : "path/to/CsvDataSource2"]]></defaultValueExpression>
</parameter>

The CSV source can be passed in either as a property or a parameter, in your case the parameter offering more flexibility.