Das Element <columnFilter> konfiguriert einen Filter pro Tabellenspalte innerhalb von <pureTable>.
Das Attribut filter bestimmt die zu filternden Werte.
Attributname | Verwendung | Attributwerte | Defaultwert | Beschreibung |
---|---|---|---|---|
caseSensitive | optional | true, false | true | Steuert ob Groß-/Kleinschreibung bei der Filterung berücksichtigt wird true = Groß-/Kleinschreibung wird berücksichtigt false = Groß-/Kleinschreibung wird nicht berücksichtigt |
filter | benötigt für type=?text? | Definiert den Filtertext. Die Wildcards * und ? können in der üblichen Weise angewendet werden. Mit < werden Strings gefiltert, die bis zu diesem Zeichen reichen. | ||
type | optional | text combo |
text | text = Erstellt unterhalb der Kopfzeile einen Filter für frei einzugebenden Text. combo = Erstellt unterhalb der Kopfzeile einen Filter als Dropdown-Liste, die alle Werte der Spalte einmal enthält. |
style | optional | default, multi | default | Zeigt die möglichen Filterwerte in einem Dropdown-Listenfeld an. default = zeigt die möglichen Filterwerte in einem Dropdown-Listenfeld an multi = zeigt die möglichen Filterwerte in einem Dropdown-Listenfeld mit Kontrollkästchen an |
Erlaubte Unterelemente | Anzahl |
---|---|
keine |
Tabelle mit Filter, dessen Werte in einer Dropdown-Liste ausgewählt werden:
Das folgende Beispiel zeigt eine Tabelle, die den Namen des Ringtaktsystems und von deren Komponenten vom Typ 'Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator die Parameter Place und Name auflistet. Die Anzahl der anzuzeigenden Elemente kann durch Auswahl von Filtern in Dropdown-Listen beschränkt werden.
<pureTable variable="x" receiver="=rmos('Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator')">
<filters>
<columnFilter type="combo"/>
<columnFilter type="combo"/>
<columnFilter type="combo"/>
</filters>
<column heading="No">
<label text="=mroot.rmos('Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator').indexOf(x)"/>
</column>
<column hSizeMaxPx="50" heading="Place">
<label text="=x.$Place"/>
</column>
<column hSizeMinPx="150" heading="Name">
<label text="x.name">
<link receiver="x" ref="IOs"/>
</label>
</column>
</pureTable>
Tabelle mit Filter, dessen Werte in einer Dropdown-Liste von Kontrollkästchen ausgewählt werden:
Das folgende Beispiel zeigt eine Tabelle, die den Namen des Ringtaktsystems und von deren Komponenten vom Typ Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator die Parameter Place und Name auflistet. Die Anzahl der anzuzeigenden Elemente kann durch Auswahl von Filtern in einer Dropdown-Liste von Kontrollkästchen beschränkt werden.
<pureTable variable="x" receiver="=rmos('Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator')">
<filters>
<columnFilter type="combo"/>
<columnFilter type="combo" />
<columnFilter type="combo"/>
</filters>
<column heading="No">
<label text="=mroot.rmos('Pfuderer_ModularSystem.Mechatronic.SensorsActuators.Base.SensorActuator').indexOf(x)"/>
</column>
<column hSizeMinPx="110" heading="Place">
<label text="=x.$Place"/>
</column>
<column hSizeMinPx="300" heading="Name">
<label text="x.name">
<link receiver="x" ref="IOs"/>
</label>
</column>
</pureTable>
Filter sucht Strings mit einer begrenzten Länge
Die folgenden Tabellen zeigen, wie das Zeichen < in einem Filter für pureTable eingesetzt werden kann, um Strings zu filtern, die nur bis zu einem bestimmten Zeichen reichen. In der folgenden Abbildung werden links die ungefilterten Ergebnisse angezeigt, rechts die gefilterten.
Filter sucht Strings unter Berücksichtigung von Groß-/Kleinschreibung
Die folgenden Tabellen zeigen, wie durch Berücksichtigung von Groß-/Kleinschreibung die Anzahl der gefilterten Werte beeinflusst wird.
<table columns="2">
<td>
<label>caseSensitive="false"</label>
</td>
<td>
<label>caseSensitive="true"</label>
</td>
<td>
<pureTable receiver="=mos">
<filters>
<columnFilter type="text" caseSensitive="false" />
</filters>
<column heading="Name">
<label text="this.name" />
</column>
</pureTable>
</td>
<td>
<pureTable receiver="=mos">
<filters>
<columnFilter type="text" caseSensitive="true" />
</filters>
<column heading="Name">
<label text="this.name" />
</column>
</pureTable>
</td>
</table>
Text in Kopfzeile wird mit \n an beliebiger Stelle umgebrochen
Die folgenden Tabellen zeigen, wie durch Einfügen von \n im Text der Kopfzeile dessen Text umgebrochen wird.
<pureTable receiver="=List{1,2,3,4,5,6,7,8,9}" variable="x">
<column heading="Heading Line 1\nHeading Line 2\nHeading Line 3" hSizeMaxPx="150">
<label text="'Cell '+x"></label>
</column>
</pureTable>