Domanda

Voglio generare un report pdf, dove una colonna (o una cella / campo) è vuoto a sinistra (vuoto) di proposito. In questa colonna è in realtà ha un valore, ma, sto scegliendo di non visualizzarlo. Il titolo della colonna deve ancora essere visualizzato.

Esempio di dove questo potrebbe essere utile:

  • Blank (vuoto) della colonna:. Commenti A o note colonna su un lato di una relazione
  • Blank (vuoto) delle cellule. Un puzzle di sudoku stampare-out

Molto apprezzato. DynamicJasper è incredibile! Grazie al dj-team.

Saluti, Pete

È stato utile?

Soluzione

Sono contento di annunciare, la soluzione trovata per l'aggiunta di una colonna 'vuota' - e, in breve, è di creare un customExpression

.
def cb = ColumnBuilder.getInstance()
cb = cb.setTitle("Notes")
cb = cb.setCustomExpression(new BlankExpression())
AbstractColumn columnNotes = cb.build()

Poi inserirlo al resto del rapporto.

Classe 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();
    }
}

Ma ci sono alcuni problemi relativi all'uso di customExpressions e graal.

1 ° edizione: "getNew ()" - Gli esempi forniti sul sito DJ tutto l'uso "getNew ()" http://dynamicjasper.sourceforge.net/docs/HOWTO%20Create% 20Custom% 20Expressions.html è un esempio di DynamicJasper v3.1.3 dove i Grails plug si riferiscono al v.3.0.6 che ha solo un metodo () getInstance (deprecated in 3.1.3)

2 ° edizione: Per quanto posso vedere, scanalato non consente implementazioni di classe in linea java-stile, costringendoci così a creare un file di classe separato. Ma questo non è un grosso problema. Potrei sbagliarmi su questo, e per favore correggetemi.

Spero che questo ti aiuta anche.

Saluti, Pete

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top