[英]How to print a report automatically as soon as it loads with 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.