Suchen und Filtern in Listen

Suche

Über die Suche kann in allen sichtbaren Listen-Spalten nach Text gesucht werden. Bei mehreren Suchbegriffen werden sowohl die einzelnen Begriffe als auch der kombinierte Begriff gesucht.

Die Suche wird immer mit den aktiven Filtern (falls vorhanden) kombiniert.

Einstellmöglichkeiten

  • Ein-/ausschalten über ListConfiguration.EnableSearch (Default: ein)

Optimierung

Die Suche wird als Volltext-Suche auf allen Spalten ausgeführt. Bei Verwendung mehrerer Wörter werden diese einzeln in allen Spalten gesucht. Deshalb lohnt es sich die Suche zu optimieren um Performance Probleme zu vermeiden:

TODO

  • Einstellung der Spalten, die durchsucht werden sollen.

Filterung

Es gibt drei verschiedene Filter-Möglichkeiten, wovon immer nur eine aktiv sein kann.

Filterzeile (“Einfacher Filter”)

Die Filterzeile ermöglicht das Filtern von Daten nach einer bestimmten, sichtbaren Listen-Spalte.

Einstellmöglichkeiten:

  • Ein-/ausschalten über ListConfiguration.Filter.EnableSimple (Default: ein)

Facetten-Filter

Der Facetten-Filter erlaubt die Filterung auf spezifische Felder mit vorgegebenen Filter-Operationen. Facetten-Filter müssen vom Customizer/Developer pro Layout explizit definiert werden.

Einstellmöglichkeiten:

  • Ein-/ausschalten über ListConfiguration.Filter.EnableFaceted (Default: aus)

  • Hinzufügen eines Feldes zum Facetten-Filter über den FacetFilterAspect (im Code: .FacetFilter())

    • Operation: Welche Filter-Operation verwendet wird (<, >, …)

    • Sorting: Sortierung des Facetten-Filters innerhalb des Facetten-Filter-Blocks. Wenn nichts festgelegt, wird alphabetisch sortiert

    • ColumnSpan: Breite des Facetten-Filters in “Spalten” innerhalb des Facetten-Filter-Blocks

Expression-Filter (“Erweiterter Filter”)

Der Expression-Filter ermöglicht das Filtern nach komplexen Expressions.

Einstellmöglichkeiten:

  • Ein-/ausschalten über ListConfiguration.Filter.EnableAdvanced (Default: ein)

Quick Filters

Zusätzlich zu den regulären Filter-Möglichkeiten ist es möglich, auf einer Listen-Ansicht sogenannte “Quick Filters” hinzuzufügen. Diese Funktionieren grundsätzlich gleich wie normale Facetten-Filter, sind aber immer sichtbar. Aufgrund dieser ständigen Sichtbarkeit sollten Quick Filters nur sparsam und für sehr zentrale “Schalter” benutzt werden, um die Komplexität im UI nicht unnötig zu erhöhen.

Einstellmöglichkeiten:

  • Hinzufügen eines Feldes als Quick-Filter über den QuickFilterAspect (im Code: .QuickFilter())

    • IsNullable: Ob dieser Filter ausgeschaltet werden kann. Wird dieses Feld nicht explizit auf true gesetzt, muss eine DefaultValue spezifziert werden

    • DefaultValue: Default-Wert des Filters beim initialen Laden der Liste. Datentyp muss hier mit dem Datentyp des gewählten Feldes übereinstimmen.

    • Sorting: Sortierung des Filters innerhalb des Quick-Filter-Blocks. Wenn nichts festgelegt, wird alphabetisch sortiert.

    • CustomPlaceholder: Custom text, der beim Hovern über dem Feld sowie als Platzhalter verwendet wird. Wird kein CustomPlaceholder definiert, wird die Caption des Felds verwendet.