Datenfilterung
Zur Filterung von Daten, die in einem Bericht gedruckt werden, können Dialogfelder genutzt werden. Nehmen wir beispielsweise einen Bericht der eine Liste aller Mitarbeiter druckt. Durch Nutzung eines Dialogfeldes können eine oder mehrere Mitarbeiter ausgewählt werden und bei der Erstellung des Berichts werden die Daten derart gefiltert, dass lediglich die ausgewählten Mitarbeiter angezeigt werden.
Zur Nutzung der Datenfilterung muss der anfängliche Bericht alle Daten enthalten. Das Name "Filterung" zeigt bereits an, dass unnötige Daten bei der Erstellung eines Berichts nicht gedruckt werden.
Die einfachste Methode zur Organisation der Datenfilterung besteht in der Nutzung der Eigenschaft Filter auf der Leiste "Daten". Im Leisten Editor kann der Filter Ausdruck angezeigt werden, z.B.:
Durch Nutzung eines Dialogfeldes kann ein Wert von einem Benutzer abgefragt und im Filterungsausdruck verwendet werden. Mehr hierzu im Beispiel "Einfache Filter" im Abschnitt "Beispiele" .
Diese Methode kann verwendet werden, wenn ein einfacher Wert benötigt wird. Besteht die Aufgabe in der Anzeige einer Liste an Werten und in der Abfrage einer oder mehrerer, gestaltet sich die Umsetzung schwieriger. Die Anzeige einer Liste von Mitarbeitern in dem Steuerlement ListBoxControl und die Auswahl einer oder mehrerer Werte ist nicht so einfach, wie man denken könnte. Zur Umsetzung muss das folgende Skript genutzt werden:
· Holen der Datenquelle nach Namen
· Daten initialisieren;
· Auffüllen der ListBoxControl mit Daten aus der Datenquelle;
· nach Auswahl des Mitarbeiters, Bau eines Filter Ausdrucks, der in der Leiste "Daten" verwendet wird.
FastReport übernimmt dies automatisch. Hierzu wird die automatische Filterung genutzt. Diese wird nachfolgend im Detail betrachtet.