Frage

Wenn ein Aggregat control in einigen berichten Sie lieber ein leeres Feld anstelle von 0.Es scheint nicht ein Weg, dies zu tun automatisch.Hat jemand eine Möglichkeit, dass dies getan werden kann.Beachten Sie, dass Sie pflegen wollen, die '0' Wert für das Feld in den Fällen, wenn Sie exportieren, aber Sie wollen zu zeigen, eine leere, die beim Rendern PDF-oder HTML.

War es hilfreich?

Lösung 2

Nur ein FYI, nach längerem für eine Weile mit dieser Arbeit, ich habe festgestellt, dass es Sichtbarkeit Regeln nur einfacher zu bedienen ist. Der ein großer Vorteil ist, dass man leicht unterschiedliche Sichtbarkeit für verschiedene Ausgabeformate konfigurieren kann. Also für PDF kann es am besten Rohlinge zu verwenden, aber für Excel können Sie die 0-Werte werden soll.

Andere Tipps

Es gibt eine Reihe von Möglichkeiten, dies zu lösen. Die beiden primären sind entweder Sichtbarkeitsregeln oder Highlights verwenden bedingte Formatierung zu erstellen. Die Sicht ist besonders attraktiv, da es leicht ist, nur auf bestimmte Arten von Ausgabe (zum Beispiel HTML) die Formatregeln gelten.

Für diesen speziellen Fall gibt es zwei Probleme mit diesen Ansätzen. Zuerst möchte ich eine allgemeine Lösungen, bei denen ich nicht über die Textfarbe angeben. Mit anderen Worten, wenn die Bedingung erfüllt ist (Wert 0), dann mag ich meine Textfarbe die Hintergrundfarbe. Auf diese Weise, wenn jemand die Backgroundcolor für die Steuerung ändert, funktioniert der Code immer noch.

Das andere Problem ist, dass in diesem Fall habe ich dynamische Spalte Bindung verwende, die nicht Wert Lookup unterstützt.

Die Lösung, die ich schuf, war eine JavaScript-Funktion hinzuzufügen, genannt HideMe wie unten gezeigt.

function hideText (dataControl){
    if (dataControl.getValue() == 0) {
        var color = dataControl.getStyle().getBackgroundColor();
        var parentItem = dataControl.getParent();
        do {
            if (color == null && parentItem != null) {
                color = parentItem.getStyle().getBackgroundColor();
                parentItem = parentItem.getParent();
            } else {
                break;
            }

        } while (color == null);
        dataControl.getStyle().color = color;
    }
}

Wenn diese Funktion des Bericht hinzugefügt wurde (in meinem Fall eine JavaScript-Datei enthält) Ich kann es einfach anrufen aus der OnCreate Methode der Steuerung.

hideText(this);

Dies kann auch mit Hilfe von Java-Event-Handler getan werden, aber diese Methode scheint leichter zu sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top