java - DynamicJasper 中的自动隐藏列

标签 java jasper-reports dynamic-jasper

我想在使用 DynamicJasper 生成报告时隐藏一列。
我不知道该怎么做。我试图获得一些可以实现这一点的函数,但我无法弄清楚,因为我是该技术的一员。

这是我的基本代码:

AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], String.class.getName())
        .setFixedWidth(true)
        .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100))
        .setHeaderStyle(myStyle)
        .build();

FastReportBuilder drb = new FastReportBuilder();
drb.addColumn(myColumn);
DynamicReport dr = drb.build();

return dr;

假设如果此列是 Excel 工作表的 B 列,则在生成报告时应自​​动隐藏它。 A 列之后仅应显示 C。取消隐藏时,应显示 B。

最佳答案

你可以这样尝试。因为这是用java编写的,所以你可以尝试一下。

if(ConditionForBColumn) {
AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], ValueOfB String.class.getName())
    .setFixedWidth(true)
    .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100))
    .setHeaderStyle(myStyle)
    .build();
} else {
AbstractColumn myColumn = ColumnBuilder.getNew().setColumnProperty(ConstantsClass.REPORT_COLUMN_PROPERTY[0], String.class.getName())
    .setFixedWidth(true)
    .setTitle(ConstantsClass.REPORT_COLUMN_COLUMN_HEAD[0]).setWidth(new Integer(100))
    .setHeaderStyle(myStyle)
    .build();
}

FastReportBuilder drb = new FastReportBuilder();
drb.addColumn(myColumn);
DynamicReport dr = drb.build();

return dr;

关于java - DynamicJasper 中的自动隐藏列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21236541/

相关文章:

java - 按住键后做某事并在释放和按下时重复

java - 是否可以将对象映射到现有表的一部分?

jasper-reports - 警告元素位置无效。 iReport Jasperreports 中的文本被裁剪

java - 使用 DynamicJasper API 生成的 html 报告输出中没有图像

java - 如何将属性从数据库发送到 dJ 来制作报告

java - 使用 Criteria 和 Metamodel API 连接多个外键上的两个表

java - 不匹配子字符串的正则表达式

java - JasperReports 上的字段内字段

jasper-reports - 文本字段值中的 Jasper 报告 IF 条件

java - 动态贾斯珀 : 3 report sections in one page