DynamicJaSper (на границах) целенаправленно держите колонну или поле поле (пусто)
-
05-10-2019 - |
Вопрос
Я хочу создать отчет PDF, где столбец (или ячейка / поле) остается пустым (пустым) нарочно. Этот столбец на самом деле имеет значение, но я выбираю не отображать его. Название столбца все еще должно быть отображено.
Пример того, где это может быть полезно:
- Чистый (пустой) столбец: комментарии или столбец заметок вниз по одной стороне отчета.
- Пустой (пустой) клетку: головоломка судоку.
Очень признателен. Dynamicjasper потрясающий! Благодаря DJ-команде.
С уважением, Пит
Решение
Рад объявить, решение найдено для добавления «пустой» колонны - и короче говоря, это создать хранилище.
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)
2-й вопрос: Насколько я вижу, Groovy не позволяет реализациям встроенных классов стиля Java, таким образом, заставляя нас создавать отдельный файл класса. Но это не большая проблема. Я мог бы ошибаться об этом, и, пожалуйста, поправьте меня.
Надеюсь, это поможет вам тоже.
С уважением, Пит