繁体   English   中英

DynamicReports 在页面开始时不打印列标题

[英]DynamicReports dont print column header at page start

由于突出显示行的一些问题,我在报告中添加了以下列标题:

addColumnHeader(
        cmp.filler().setStyle(stl.style().setTopBorder(stl.pen1Point())).setFixedHeight(1))

这解决了我的问题,但现在我总是在每页顶部有一行。 我需要做什么,只显示每个组的列标题部分,而不是在页面开始时显示?

我已经使用setShowColumnTitle(false)在页面开始时不显示列标题,但这不适用于列标题。 此外,我找不到将任何内容添加到由于setShowColumnTitle(false)而隐藏的列标题带的方法

我能够通过向填充组件添加setPrintWhenExpression来隐藏列标题组件。

addColumnHeader(cmp.filler().setStyle(stl.style().setTopBorder(stl.pen1Point())).setFixedHeight(1)
       .setPrintWhenExpression(new ColumnHeaderExpression()));

并且ColumnHeaderExpression仅返回 true,如果页码为 -1,这将永远不会发生。

private class ColumnHeaderExpression extends AbstractSimpleExpression<Boolean> {
    private static final long serialVersionUID = 1L;

    public ColumnHeaderExpression() {
    }

    @Override
    public Boolean evaluate(ReportParameters reportParameters) {
        return reportParameters.getPageNumber() == -1;
    }
}

有了这个,列标题永远不会在每页的开头打印,但仍然在每个组的开头打印,这正是我所需要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM