Flex 3 combobox: Filtro XMLListCollection datasource
-
18-09-2019 - |
Domanda
(sto usando Cairngorm) Ho un combobox che mostra oggetti costituiscono XMLListCollection che è nel mio modello. Voglio vedere solo gli elementi (XML) il cui "inviati" proprietà è falso .. come item.sent == 'false'. Questo filtro deve applicarsi solo a questo specifico combobox, non tutto ciò che è legato alla sorgente XMLListCollection. E, naturalmente, si deve aggiornare e aggiornare il filtro se la sorgente cambia ..
Come posso fare? Sto cercando di utilizzare filterFunction ma non capire come funziona ... grazie
Soluzione
In realtà, non c'è bisogno di copiare tutti i dati, come dice Christophe. È possibile creare un altro ListCollectionView
che è in realtà una vista di qualche lista e applicare il filtro ad esso.
Quindi, se xmlListCollection
è la vostra collezione, si può provare il seguente codice:
var listView:ListCollectionView = new ListCollectionView(xmlListCollection.list);
listView.filterFunction = someFunction;
listView.refresh();
listView
dovrebbe essere sempre in sintonia con la vostra collezione, a meno che non si scambia fonte xmlListCollection
sottostante o lista.