我想生成一个 pdf 报告,其中一列(或单元格/字段)故意留空(空)。此列实际上确实有一个值,但是我选择不显示它。列标题仍然需要显示。
这可能有用的示例:
- 空白(空)列:报告一侧下方的注释或注释列。
- 空白(空)单元格:数独拼图打印输出。
非常感激。DynamicJasper 太棒了!感谢 dj 团队。
问候,皮特
我想生成一个 pdf 报告,其中一列(或单元格/字段)故意留空(空)。此列实际上确实有一个值,但是我选择不显示它。列标题仍然需要显示。
这可能有用的示例:
非常感激。DynamicJasper 太棒了!感谢 dj 团队。
问候,皮特
很高兴地宣布,找到了添加“空”列的解决方案——简而言之,它是创建一个 customExpression。
def cb = ColumnBuilder.getInstance()
cb = cb.setTitle("Notes")
cb = cb.setCustomExpression(new BlankExpression())
AbstractColumn columnNotes = cb.build()
然后将其添加到报告的其余部分。
类 BlankExpression 是
public class BlankExpression implements CustomExpression {
public BlankExpression() { }
public Object evaluate(Map fields, Map variables, Map parameters) {
return " ";
}
public String getClassName() {
return String.class.getName();
}
}
但是有一些与使用 customExpressions 和 grails 相关的问题。
第 1 期:“getNew()” - DJ 网站上提供的示例均使用“getNew()” http://dynamicjasper.sourceforge.net/docs/HOWTO%20Create%20Custom%20Expressions.html是 DynamicJasper v3 的示例.1.3 其中 Grails 插件基于 v.3.0.6,它只有一个 getInstance() 方法(在 3.1.3 中已弃用)
第二个问题:据我所知,groovy 不允许 java 风格的内联类实现,因此迫使我们创建一个单独的类文件。但这不是一个大问题。我可能对此有误,请纠正我。
希望这对你也有帮助。
问候,皮特