Jasper reports 如何在ireport中根据列数动态设置报表宽度

Jasper reports 如何在ireport中根据列数动态设置报表宽度,jasper-reports,ireport,Jasper Reports,Ireport,我可以根据它包含的数据设置jrxml报告宽度吗。这意味着可以根据数据缩小或扩大报告大小 我已经为报告创建了最多15列,并根据输入隐藏/显示所需的列。报告隐藏的列,但页面宽度保持不变 任何人都可以透露一些信息,。提前感谢。我从未设置过此功能,但我会尝试查看Print When Expression属性 一个好的开始是查看文档iReport Ultimate Guide:,第60页。最后我得到了解决方案,。。 我们可以在设计时将15列的jrxml页面宽度设置为最大值(比如1500)。 我们可以根据用

我可以根据它包含的数据设置jrxml报告宽度吗。这意味着可以根据数据缩小或扩大报告大小

我已经为报告创建了最多15列,并根据输入隐藏/显示所需的列。报告隐藏的列,但页面宽度保持不变


任何人都可以透露一些信息,。提前感谢。

我从未设置过此功能,但我会尝试查看Print When Expression属性


一个好的开始是查看文档iReport Ultimate Guide:,第60页。

最后我得到了解决方案,。。 我们可以在设计时将15列的jrxml页面宽度设置为最大值(比如1500)。 我们可以根据用户报告单独显示/打印所需的列(比如10列)。 我们可以在运行时使用jasperprint.setPageWidth()

我是这样做到的

InputStream stream = ReportServlet.class.getResourceAsStream(file_location);
JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(data);
jasperReport = JasperCompileManager.compileReport(stream);
jasperPrint = JasperFillManager.fillReport(jasperReport, hashMap,ds);
int noOfColumns = 10;           
jasperPrint.setPageWidth(noOfColumns * 100);

非常感谢,我不知道这个方法存在jasperPrint.setPageWidth!!