Wie kann ich eine Spalte zur Laufzeit ein- / ausblenden?

Ich möchte eine Spalte zur Laufzeit basierend auf einer bestimmten Bedingung ein- / ausblenden. Ich verwende "Print when expression", um diese Spalte (und ihre Überschrift) in meinem Bericht bedingt anzuzeigen / auszublenden. Wenn die Spalte ausgeblendet ist, bleibt der Platz leer, was nicht besonders attraktiv ist.

Ich würde es vorziehen, wenn der zusätzliche Platz effektiver genutzt würde. Zu den Möglichkeiten gehören:

Die Breite des Berichts wird um die Breite der ausgeblendeten Spalte verringertDer zusätzliche Platz wird auf die verbleibenden Spalten verteilt

Theoretisch könnte ich die erste erreichen, indem ich die Breite der Spalte (und der Überschrift) auf 0 setze, aber auch darauf hinweise, dass die Größe der Spalte an den Inhalt angepasst werden sollte. JasperReports bietet jedoch keine Option zum Anpassen der Breite an den Inhalt.

Eine andere Möglichkeit besteht darin, Berichte mithilfe der Jasper-API zu generieren, anstatt die Berichtsvorlage in XML zu definieren. Aber das scheint eine Menge Aufwand für eine so einfache Anforderung zu sein.

Antworten auf die Frage(7)

Ihre Antwort auf die Frage