Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用java动态隐藏jasper报表中的列?_Java_Jasper Reports - Fatal编程技术网

如何使用java动态隐藏jasper报表中的列?

如何使用java动态隐藏jasper报表中的列?,java,jasper-reports,Java,Jasper Reports,我很清楚,printWheenexpression用于隐藏或显示列。但是我怎么能用Jave的?关于JDesignExpression的文档很少。如何将JDesignFrame的值设置为false 以下是截图: 我不知道如何将任何表达式设置为StaticText或textfield或designframe JRDesignExpression expression = new JRDesignExpression(); expression.setValueClassName(

我很清楚,
printWheenexpression
用于隐藏或显示
。但是我怎么能用Jave的?关于
JDesignExpression
的文档很少。如何将
JDesignFrame
的值设置为
false

以下是截图:

我不知道如何将任何表达式设置为
StaticText
textfield
designframe

JRDesignExpression expression = new JRDesignExpression();

        expression.setValueClassName(Object.class.getName());
        expression.setValueClassName(measure.getValueClassName());

添加一个可能有帮助的条件 e、 g

试一试

JRDesignTextField textField=新的JRDesignTextField();
setPrintWhenExpression(新的JRDesignExpression($V{REPORT\u COUNT}<10”);
使用特定的条件表达式,而不是$V{REPORT\u COUNT}<10

同样的设置也适用于JRDesignFrame

JRDesignExpression cond1 =
    OroJasperDesign
        .tool
        .createExpression("$P{docType}
        .equalsIgnoreCase(\"MER\") ? Boolean.TRUE : Boolean.FALSE",Boolean.class);

band.addElement(OroJasperDesign
                    .tool
                    .createTextField(5, 70, pageWidth - 10, 30,
                                     textAlignment, null,
                                     orosoft
                                         .reports
                                         .jasperreports
                                         .OroReportFont
                                         .setFont(12, true, false, true),
                                     OroJasperDesign
                                         .tool
                                         .createExpression("$P{mepRmkInv}",
                                     String.class),cond1));
JRDesignTextField textField = new JRDesignTextField();
textField.setPrintWhenExpression(new JRDesignExpression("$V{REPORT_COUNT} < 10"));