2014-11-17 27 views

risposta

16

è possibile impostare una consuetudine (filtro globale) utilizzando l'attributo st-set-filter (non ancora documentented)

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

quindi implementare il filtro personalizzato

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) ; 
     }); 
    } 
}); 

dove per esempio è stato impostato voi immissione nella tabella

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

Nota che il filtro è globale per la tabella, quindi verrà chiamata al posto del filtro angolare (quello predefinito utilizzato) per l'input di ricerca molto. Quindi, se vuoi un altro comportamento del filtro per colonne diverse, dovrai aggiungerle nel tuo filtro personalizzato, oppure un'altra tecnica è usare una funzione di confronto. Troverete maggiori dettagli nel mio commento sul pull request (18/11/2014) e un plunker

Edit:

E 'stato documented nel frattempo.

+1

Grazie! Sono stato in grado di usare il tuo codice. Bel lavoro! – user2543492

+1

- plunker è rotto; e c'è un modo per filtrare esternamente dal DOM della tabella? http://stackoverflow.com/questions/29261957/angularjs-smart-table-filtering-by-external-control – mg1075

Problemi correlati