Documentation

(de:visionx)

Mehrere Werte filtern oder suchen

Translations of this page:

This is an old revision of the document!


Mit einem Filter- bzw. Suchfeld kann bequem nach dem Vorkommen von einem bestimmten Wert innerhalb einer Tabelle/Liste gesucht werden. Wenn man mehrere Werte im gleichen Feld durchsuchen möchte muss man das Profiles and Filter AddOn verwenden. Damit kann bequem nach mehreren Werten gesucht werden. Doch manchmal wäre es hilfreich in einem einzigen Suchfeld mehrere Werte einzugeben, nach denen dann gesucht wird. Das ist mit dem Standard Suchfeld nicht ohne Source Code möglich.

Hier eine Beispieltabelle:

Das Suchfeld durchsucht den Vornamen nach einem bestimmten Wert wie z.B: John oder J*

Aber wenn man mehrere Namen eingeben möchte wie z.B: John;Ma* dann wird die Suche nichts finden, weil kein Vorname mit diesem Text existiert.
Das ist aber sehr einfach zu realisieren mit ein wenig Source Code:

filterFirstname.eventConfigureCustomCondition().addListener(new IFilterEditorListener() 
{
    @Override
    public void configureCustomCondition(FilterEditor pEditor) throws Throwable 
    {
        String sValue = (String)pEditor.getValue();
 
        if (sValue != null)
        {
            ICondition cond = new Or();
 
            for (String element : StringUtil.separateList(sValue, ";", true))
            {
                cond = cond.or(new Like(pEditor.getColumnName(), element));
            }
 
            pEditor.setCustomCondition(cond);
        }
        else
        {
            pEditor.setCustomCondition(null);
        }
    }
});

Die Like Suche ermöglicht die Suche nach ähnlichen Werten. Mit * können hier Platzhalter definiert werden. Es kann aber die Suche mittels Equals oder anderen Bedingungen erfolgen.

This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information