Filter im Grid funktioniert nicht

Ihr habt ein Grid erstellt und das Refined Search oder die Suche generell aktiviert order beides zusammen, dies macht keinen Unterschied.

Wenn Ihr jetzt etwas sucht, wird das Grid nicht gefiltert oder es wird nicht so gefiltert wie Ihr das wollt.

Ursache ist wahrscheinlich, dass Ihr im Grid SQL schon eine Where habt mit einer ‘or’ verknüpfung, also etwa so

Select …. from tbl…. Where Feld1 = 1 or Feld1 = 2

Der Refined Search und das Serach hängen mit einer ‘and’ Verknüfung den Filter an, also so:

Select …. from tbl…. Where Feld1 = 1 or Feld1 = 2 and Feld2 = ‘%test%’

Das führt dazu, dass nicht so gefiltert wird wie Ihr wollt.

Die Lösung ist recht einfach, setzt einfach euren Where Teil in Klammern dann wird der Filterteil richtig angehängt.

Select …. from tbl…. Where (Feld1 = 1 or Feld1 = 2)

Mit Filter sieht es dann so aus:

Select …. from tbl…. Where (Feld1 = 1 or Feld1 = 2) and Feld2 = ‘%test%’

dann wir richtig gefiltert.

Schreibe einen Kommentar