grails - DynamicJasper(在Grails上)有目的地使列或字段为空白(空)

标签 grails jasper-reports dynamic-jasper

我想生成一个pdf报告,其中一栏(或单元格/字段)故意留空(空)。该列实际上确实有一个值,但是,我选择不显示它。列标题仍需要显示。

可能有用的示例:

  • 空白(空)列:报告一侧的注释或注释列。
  • 空白(空)单元格:数独拼图打印输出。

  • 非常感激。 DynamicJasper太棒了!感谢dj-team。

    问候,
    皮特

    最佳答案

    很高兴地宣布,找到了添加“空”列的解决方案-简而言之,它是创建一个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的使用有关的问题。

    第一期:“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风格的内联类实现,因此迫使我们创建单独的类文件。但这不是一个大问题。我对此可能有误,请纠正我。

    希望这对您也有帮助。

    问候,
    皮特

    关于grails - DynamicJasper(在Grails上)有目的地使列或字段为空白(空),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2927369/

    相关文章:

    mysql - Grails:运行时改变dataSource url实现 Multi-Tenancy 数据库分离

    grails - Grails 3 中的拆分配置

    java - 如何修复java中的NoClassDefFoundError

    java - 如何使用 Dynamic Jasper 动态设置 JRXML 属性

    java - 我可以使用 DynamicJasper 在 xls 报告中呈现表格和/或图表 'side by side' 吗?

    java - Dynamic-jasper:列高与 configuration.setWrapText(true)

    unit-testing - 在grails中模拟外部http请求

    grails:将 grails 域类作为函数参数传递

    jasper-reports - 结果之间jasperreport中的条件水平线

    java - 使用 Jasper 报表在一份报表上打印动态元素数量