Das angulare ui-Gitter filtert nach einer Zeichenkette, wenn columnDefs field als type number hat. Warum?

8

Ich verwende django 1.8 und angularjs 1.3.14 und jquery 1.11.0.

Dies ist im Controller / gridOptions / columnDefs.

%Vor%

Beachten Sie, dass "Typ" eine Zahl ist. Wenn ich das ausführe, behandelt das Programm dieses Feld als String und nicht als Zahl. Also funktioniert die Art nicht so, wie ich es brauche.
Ich habe versucht, "type" auszulassen und den Datentyp automatisch erkennen zu lassen. - Hat nicht funktioniert.

So sieht die Sortierung vor und nach der Verwendung aus:

Wie Sie sehen können, wurden Elemente gefiltert, wenn keines der Daten kleiner als 6 war. Bitte helfen Sie. Danke.

    
Jon Kennedy 10.07.2015, 15:43
quelle

3 Antworten

4

Sie können Ihre eigene Bedingungsfunktion verwenden

%Vor%     
Qi Tang 10.07.2015, 16:13
quelle
1

Welche Version von angular-ui-grid verwenden Sie? Ich habe gerade ein PLNKR mit den ähnlichen Daten mit Sortieren und Filtern gemacht und es hat funktioniert. Es könnte also ein Versions-Problem an Ihrem Ende sein.

%Vor%

Zypern

    
Kathir 10.07.2015 17:01
quelle
0

Ich erweitere die Antwort von @Qi Tang, falls es jemanden wie mich gibt, der nach einer Antwort sucht, bei der die gefilterten Ergebnisse nur dem Filterwert entsprechen (nicht größer).

%Vor%

Hinweis auch für andere Implementierungen:

%Vor%

liefert für jeden Falsy-Wert den Wert true, und stellen Sie sicher, dass Sie das möchten. Das beinhaltet nicht nur null und undefined, sondern auch false und 0, was in einem numerischen Filter nicht wünschenswert ist (ich konnte nicht filtern, wo Items 0 sind).

    
Gary 22.11.2016 22:07
quelle