Toon posts:

[Flash] DataSet.filterFunc

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met mijn portfolio site aan het maken. En hebben nu alles lopen via 1 xml bestand. Lekker handig met flash professional.

Nu wil ik graag die xml file fileren.

code:
1
2
3
4
5
6
7
trace("Filter on: " + _root.iconArray[_global.iconArrayCounter]);
trace("Before: " + _root.infoDataSet.length);
_root.infoDataSet.filtered = true;
_root.infoDataSet.filterFunc = function(item:Object) {
    return(item.type == _root.iconArray[_global.iconArrayCounter]);
}
trace("After: " + _root.infoDataSet.length);


Dat doet ie allemaal prima, alleen vervolgens moet de DataSet weer als van ouds worden met alle informatie er in. ik dacht als je _root.infoDataSet.filtered = false; gebruikte dit wel zou gebeuren. Maar niet dus. Als ik dus de functie nog een keer aan roep om de DataSet te filteren op een andere soort 'type' dan zoekt ie dus in het al gefilterde DataSet. Logisch dat ie dan nix vind.

Is er dus een mogelijkheid dat ik de DataSet weer als van ouds krijg. Door bijvoorbeeld ergens een copy te bewaren of gewoon door een bepaald stuk code.

Wat ik absoluut niet wil/kan doen is opnieuw laten vullen door de xmlconnector weer te triggeren.

Alvast bedankt

Verwijderd

Topicstarter
Ik heb het nu anders opgelost...

Ik heb op die ene XmlConnector 4 databases aangesloten. Die hete 'infoDataSet0', 'infoDataSet1', 'infoDataSet2' en 'infoDataSet3'

die roep ik via _root[infoDataSet + _global.dataSetCounter]

Op een beplaad moment gaat hij dus weer filteren en daarvoor hoog je dus '_global.dataSetCounter' met 1 op (begint bij 0). Op die manier laat je dus je xml 1x in, verspreid je over 4 dataset en deze roep je op afhankelijk van de waarde waar '_global.dataSetCounter' op staat.

Als iemand toch nog een andere oplossing heeft. Laat het nog maar even weten.

Bedankt...