Daten die von einem STableElement angeboten werden, können durch den Einsatz von FilterBeans eingeschränkt werden. Bezieht das STableElement seine Daten aus einer Tabelle, bleiben die Daten des STableElement auch nach dem Filtern weiterhin bearbeitbar.
Um ein STableElement nach den gewünschten Kriterien zu filtern, können Filter-Komponenten in das Formular eingefügt werden, die zur Anwendungslaufzeit die Daten eines STableElement filtern. Zu den Filter-Komponenten gehören die folgenden eva/3 Application Builder Standard-Komponenten:
Das Filtern eines STableElement erfolgt mit den Filter-Komponenten Eigenschaften FilteredTableSource,
FilteredControlSource und FilterOperator.
Die Eigenschaft FilteredTableSource spezifiziert das STableElement
auf das der Filter angewendet werden, bzw. dessen Daten gefiltert werden sollen.
Die Eigenschaft FilteredControlSource legt die Tabellenspalte
des STableElement fest, in dem die Werte enthalten sind, nach denen gefiltert werden soll.
Die Eigenschaft FilterOperator erlaub das Festlegen des
Vergleichsoperators nach dem die Daten in der Tabellenspalte, die mit der Eigenschaft
FilteredControlSource spezifiziert wurde, gefiltert werden sollen.
Siehe auch: Gemeinsame Eigenschaften zu FilteredTableSource,
FilteredControlSource und
FilterOperator
Wird der Filter-Komponente ein Wert zugewiesen, so wird dieser zur Anwendungslaufzeit automatisch
für die Filterung des zur filternden STableElementes angewendet. Bezieht die Filter-Komponente selbst
Werte aus einer Tabellenspalte, so wird dieser Wert automatisch als Filterwert verwendet. Dies erlaubt
zum Beispiel das Einrichten von 1:n Beziehungen zwischen zwei STableElement-Komponenten. Besitzt die
Filter-Komponente keine eigene Datenquelle, so wird der Wert, der mit der Eigenschaft
DefaultValue spezifiziert wurde als Filterwert hinzugezogen.
Erfolgt eine Eingabe des Benutzers, wird die Benutzereingabe als Filterwert angewendet.
Listenkomponenten wie die SComboBox oder
STableComboBox ermöglichen das Filtern
nach den vorgegebenen Listenwerten. Der Benutzer hat die Möglichkeit einen vordefinierten Filterwert
aus der Listenkomponenten auszuwählen. Beziehen die Listenkomponenten ihren Wert aus einem STabelElement,
wird dieser Wert ebenso wie bei den anderen Filter-Komponenten als Filterwert herangezogen.
Ist zur Entwurfszeit noch nicht bekannt, welches STableElement oder welche Spalte des STableElement zu filtern ist, so kann der Filter auch zur Anwendungslaufzeit eingerichtet werden. Hierbei können die Eigenschaften FilteredTableSource, FilteredControlSource und FilterOperator mit dem Systembefehl SetFilter eingerichtet werden.
Mit der Hilfe von Ausdrücken lassen sich verschiedene Filteraktionen erstellen und
individualisieren.
Siehe auch:
Arbeiten mit Ausdrücken.
Soll eine Filteraktion durch eine Schaltfläche ausgeführt werden, so ist dies auch mittels eine Ausdrucks möglich.
Um ein STableElement durch einen Klick auf einen SButton zu filtern müssen das STableElement mit den zu filternden Daten, der SButton und ein
SFilter im Formular enthalten sein. Wird der SButton ausgelöst, richtet der SButton die SFilter-Komponente so ein, dass das STableElement
nach einem vorgegebenen Wert gefiltert wird. Der Ausdruck kann in das ActionPerformed-Event des SButton eingetragen werden:
=SetFilter("currentWindow", "SFilter", "STableElement_unternehmen", "unternehmen_name", 6) ; [SFilter].setDefaultValue("Z") ; [SFilter].initDefaultValue()
Der Ausdruck führt als erstes den Systembefehl SetFilter aus, und richtet die SFilter-Komponente so ein, dass das STableElement
mit dem Namen STableElement_unternehmen auf die Werte der Spalte unternehmen_name
filtert. Das letzte Paremeter, in diesem Fall die 6, spezifiziert den Filteroperator BEGINS WITH. Weitere mögliche Werte sind: