2014-11-17 8 views

Antwort

16

können Sie eine benutzerdefinierte (globale Filter) mit dem st-set-filter Attribut (nicht documentented noch)

<table st-set-filter="myFilter" st-table="rowCollection"> 
    ... 
</table> 

Dann implementieren die benutzerdefinierte Filter

myApp.filter('myFilter',[function(){ 
    return function(array, expression){ 
     //an example 
     return array.filter(function(val, index){ 
      return new Date(val.theDateProperty) > new Date(expression.theDateProperty) ; 
     }); 
    } 
}); 

eingerichtet, in dem Sie zum Beispiel den Sie eingerichtet haben Eingabe in die Tabelle

<input type="date" st-search="'theDateProperty'" /> 

Beachten Sie, dass der Filter global ist die Tabelle, so wird es an Stelle von Winkelfilter (der Standard verwendet wird) für sehr Sucheingabe aufgerufen. Wenn Sie also ein anderes Filterverhalten für verschiedene Spalten wünschen, müssen Sie sie in Ihrem benutzerdefinierten Filter hinzufügen, oder eine andere Technik besteht darin, eine Komparatorfunktion zu verwenden. Sie finden weitere Details in meinem Kommentar auf der pull request (18/11/2014) und einen plunker

bearbeiten finden:

Es documented in der Zwischenzeit war.

+1

Vielen Dank! Ich konnte deinen Code verwenden. Gute Arbeit! – user2543492

+1

- Plunker ist kaputt; und gibt es eine Möglichkeit, extern aus dem Tabellen-DOM zu filtern? http://stackoverflow.com/questions/29261957/angularjs-smart-table-filtering-by-external-control – mg1075

Verwandte Themen