Wenn wir einen Bericht erstellen, wollen wir, dass er so "freundlich" wie möglich für die Verbraucher ist. Verarbeitung von vielen Daten und Designelementen macht das Verständnis der Menschen für die Informationen ungünstiger. Infolgedessen wollen viele Menschen Leerstellen in einer Tabelle ohne Daten löschen. FastReport.Net Reportgenerator erlaubt Ihnen, diese Funktion auszuführen. Wie Sie verstehen, ist es notwendig, nicht nur die Spalte auszublenden, sondern auch den Titel für sie. Wenn auch das Ausblenden einer Spalte eine Sache von ein paar Mausklicks ist, dann ist die Aufgabe, den Titel auszublenden, nicht trivial.
Angenommen, wir haben eine Tabelle, aus der wir die Daten in einem Bericht anzeigen wollen. Es kann jedoch sein, dass einige Daten fehlen oder auf Null gesetzt sind. In diesem Fall können wir das Werkzeug "Bedingte Auswahl" verwenden, um Zellen mit Null-Daten auszublenden. Wählen Sie die gewünschte Zelle aus und klicken Sie auf das Symbol in der Symbolleiste:
Wenn Sie Bedingungen hinzufügen, wird standardmäßig eine Prüfung auf Null durchgeführt. Das ist, was wir brauchen. Wir wählen nur Anzeigeoptionen aus. In unserem Fall entfernen wir das Kennzeichen visible:
Dank dieser nicht-genialen Operationen haben wir eine versteckte Null-Daten-Zellen realisiert. Aber damit sind noch nicht alle Probleme gelöst. Unsere Aufgabe ist es, den Titel der gesamten Spalte auszublenden, wenn kein Wert größer als Null ist. Die Lücke in dieser Spalte wird die Ausgabe jeder Seite überprüfen.
Um zu prüfen, dass in einer bestimmten Spalte keine Daten auf der Seite vorhanden sind, verwenden wir das "result".
Dieses Ergebnis wird von einer gegebenen Spalte aufsummiert und fasst alle Werte darin zusammen. Wenn die Summe Null ist, dann gibt es keinen einzigen Wert in der Spalte, der größer als Null ist, und Sie müssen die Überschrift der Spalte ausblenden.
So. Lassen Sie uns das Ergebnis hinzufügen:
Das Ergebnis wird in das Band "Page Footer" gestellt:
Das Ergebnis kann dann mit der Eigenschaft "visible" ausgeblendet werden.
Lassen Sie uns nun die Logik zum Ausblenden der Überschrift der letzten Spalte einstellen. Anstelle des RUB-Textes führen wir den Ausdruck ein:
[IIf([Total]!=0,Text14.Text = "RUB",Text14.Text = "")]
Das ist aber noch nicht alles. Da das Ergebnis gebildet wird, nachdem der Titel und die Daten auf der Seite angezeigt werden, ist zum Zeitpunkt der Ausführung des oben eingeführten Ausdrucks der Gesamtwert nicht relevant. Daher müssen wir die Option zur Berechnung des verzögerten Ausdrucks in der Spaltenüberschrift und im "Doublepass" auf dem Bericht verwenden.
Wählen Sie ein Textfeld mit der Spaltenüberschrift RUB. In den Eigenschaften des Textfelds finden wir ProcessAt und ändern es in PageFinished:
Danach müssen wir die Berichteigenschaften öffnen und die Option "Doublepass" installieren:
Diese Option ermöglicht es Ihnen, einen Bericht zweimal zu erstellen. In der ersten Konstruktion werden alle Ergebnisse berechnet, und in der zweiten können diese Ergebnisse in den Überschriften verwendet werden. All dies ist notwendig, weil der Bericht elementweise konsistent aufgebaut ist. Das heißt, wenn Sie das nächste Element aufbauen, können Sie das vorherige nicht mehr ändern. Daher brauchen Sie einen Neuaufbau, der die Ergebnisse der nächsten Elemente berücksichtigt.
Schauen wir uns an, wie unser Bericht funktioniert, wenn alle Daten in der RUB-Spalte 0 sind:
Auf einigen Seiten können die Daten so erscheinen, dass auch die Spalte angezeigt wird:
Auf diese Weise können wir die Spalten je nach den darin enthaltenen Daten dynamisch anzeigen oder ausblenden.