d.termini wrote:Tema Ionic
Ho dei campi autocomplete basati su DataMap documentale (nel documento ho le proprietà unbound per gestire la visualizzazione, al momento solo "v", "n" e "d"), dovrei però filtrarli in base ad uno status o altri campi.
Ho visto che è possibile filtrare tramite query ma non voglio doverla fare per ogni DataMap in quanto questi campi autocomplete saranno utilizzati in più videate allo stesso modo.
Purtroppo gli esempi in linea non sono esaustivi, sono utilizzi semplici oppure non adatti alle mie necessità.
Volevo provare usando l'evento onFilter della DataMap impostando con addFilter/addDOFilter i valori, ma non so se sia il metodo corretto oppure se devo solo impostare i filtri sull'evento onLoad.
Ah, alcuni di questi autocomplete sono dipendenti tra loro es categoria e sottocategoria (in questo caso mi pare bisogna usare addDOFilter per fare in modo che si filtri automaticamente).
Suggerimenti?
Buonasera, provo a darle un aiuto anche se il caso preso in esame può avere tante varianti.
Andando con ordine:
Puoi filtrare manualmente sui campi che desidera utilizzando l'evento "onFilter" dell'elemento "IonAutoComplete", ecco un esempio
- Code: Select all
$dmAutoComplete.clearFilters();
//
// Rimuovo gli spazi intorno alla chiave di ricerca
var filterText = this.filter.trim();
//
if (!!filterText) {
// Per aggiungere i filtri puoi usare la addFilter aggiungendo i filtri in OR
$dmAutoComplete.addFilter("campo1", "*" + this.filter + "*", true);
$dmAutoComplete.addFilter("campo2", "*" + this.filter + "*", true);
//
// Ricaricando la DataMap i filtri vengono applicati
yield $dmAutoComplete.reload();
}
Non conosco appieno le sue esigenze ma se vuole ripetere meno codice può creare una videata a Design time che accetti diversi parametri che configurino l'autocomplete.
Per dire, è possibile anche farsi passare una collection e caricare manualmente il contenuto dell'autocomplete operando sulla proprietà "List" di essa. In questo modo si può creare un autocomplete generale che accetta sia documenti che liste fisse. Le possibiltà sono numerose.
Se hai autoComplete dipendenti, puoi aggiungere i filtri ad una DataMap dell'autocomplete di interesse in base all'opzione impostata in quella "padre". Poi se i filtri sono fissi possono anche essere specificati nell'evento "onLoad".
Grazie.