代码之家  ›  专栏  ›  技术社区  ›  Tamizh

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

  •  1
  • Tamizh  · 技术社区  · 10 年前

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

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

    任何人都会发光,。提前感谢。

    2 回复  |  直到 10 年前
        1
  •  1
  •   Tamizh    10 年前

    最后我得到了解决方案,。。 我们可以在设计时将jrxml页面宽度设置为15列的最大值(例如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);
    
        2
  •  0
  •   axsoverflow    10 年前

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

    一个好的开始是查看文档iReport Ultimate Guide: http://community.jaspersoft.com/documentation ,第60页。