假设,一份主要报告可以有9份子报告。 然后,用户可以拥有用户可以根据他/她的选择订购子报告的UI(例如,应该首先显示哪个子报告,然后显示哪个子报告,等等)。 那么,我怎么能实现这个目标呢?
答案 0 :(得分:0)
按照以下步骤来达到您的要求
创建9个参数,例如 reportpath1,reportpath2,reportpath3,.... reportpath9。
提示用户输入报告的顺序。根据订单,将尊重的报告路径传递给每个参数。
意思是,如果子报告9被选为第一个报告,那么如果选择子报告8作为第二个报告路径作为reportpath1 传递>,然后将该报告的路径传递为reportpath2 ,依此类推
例如,如果subreport9的路径为“report / samples / subreports / subreport9”,则将参数 reportpath1 值设置为“report / samples / subreports / subreport9" 即可。如果子报告8的路径为“report / samples / subreports / subreport8”,,则将参数 reportpath2 值设置为“ report / samples / subreports / subreport8 “等等。
对于subreport1,
<subreportExpression><![CDATA[$P{ReportPath1}]]></subreportExpression>
对于subreport2,
<subreportExpression><![CDATA[$P{ReportPath2}]]></subreportExpression>
等等。
希望这可以解决你的问题。
从子报告获取变量的答案
- 右键点击“父报告”中的 子报告 。
- 转到 属性
- 在 子报告 会话下,点击“返回值”
- 添加 子报告变量 并将其映射到 父报告变量 。
- 然后在父报告中使用该parentreport变量。
醇>
希望这可以解决你的另一个问题。