Методология вычитана из Adobe Quick start только датапровайдер XMLListCollection. При смене датапровайдера открытые папки не восстанавливаются. Что я не так делаю?
[code]
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml" layout="vertical" width="800" height="600" xmlns:local="*" creationComplete="init()">
<mx:Style>
</mx:Style>
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.events.FlexEvent;
import mx.controls.Menu;
import mx.collections.SortField;
import mx.collections.Sort;
import mx.collections.HierarchicalData;
public var xdata:XML=
<users name="root">
<user id="7" name="a" isBranch="true">
<map id="6619" name="Notify" ownerid="7" isBranch="true" permission="2">
<node id="62888" name="Notify" userid="null" mapid="6619" permission="2">
<node id="62889" name="1" userid="null" mapid="6619" permission="2">
<node id="62890" name="2" userid="null" mapid="6619" permission="2"/>
</node>
<node id="62891" name="3123123" userid="null" mapid="6619" permission="2">
<node id="62892" name="123123123" userid="null" mapid="6619" permission="2"/>
</node>
</node>
<node id="62893" name="123" userid="null" mapid="6619" permission="2"/>
<node id="62894" name="Untitled" userid="null" mapid="6619" permission="2"/>
<node id="62895" name="123123" userid="null" mapid="6619" permission="2">
<node id="62919" name="Untitled" userid="null" mapid="6619" permission="2"/>
</node>
<node id="62896" name="Untitled123123" userid="null" mapid="6619" permission="2"/>
<node id="62898" name="123123" userid="null" mapid="6619" permission="2"/>
<node id="62899" name="123" userid="null" mapid="6619" permission="2"/>
<node id="62900" name="Untitled" userid="null" mapid="6619" permission="2"/>
</map>
</user>
<user id="8" name="a1" isBranch="true"/>
<user id="162" name="demo" isBranch="true"/>
<user id="161" name="demo1" isBranch="true">
<map id="5263" name="demo1map" ownerid="161" isBranch="true" permission="1"/>
</user>
<user id="72" name="gleb" isBranch="true">
<map id="3480" name="mapForTestCollaboration11" ownerid="72" isBranch="true" permission="2"/>
<map id="821" name="Univer" ownerid="72" isBranch="true" permission="1"/>
</user>
<user id="11" name="m" isBranch="true">
<map id="3796" name="bugg" ownerid="11" isBranch="true" permission="2"/>
<map id="6000" name="ololo" ownerid="11" isBranch="true" permission="2"/>
<map id="3443" name="share test" ownerid="11" isBranch="true" permission="2"/>
</user>
<user id="65" name="Tamila" isBranch="true">
<map id="4359" name="icon" ownerid="65" isBranch="true" permission="2"/>
<map id="4223" name="index" ownerid="65" isBranch="true" permission="2"/>
<map id="5891" name="map style test" ownerid="65" isBranch="true" permission="2"/>
<map id="4643" name="notes test" ownerid="65" isBranch="true" permission="2"/>
<map id="5968" name="rr" ownerid="65" isBranch="true" permission="2"/>
<map id="5830" name="share map" ownerid="65" isBranch="true" permission="2"/>
<map id="6024" name="sps- 490" ownerid="65" isBranch="true" permission="2"/>
<map id="5864" name="to import" ownerid="65" isBranch="true" permission="3"/>
<map id="6122" name="wiki map" ownerid="65" isBranch="true" permission="2"/>
</user>
<user id="5" name="Tamila1" isBranch="true">
<map id="2209" name="16.07" ownerid="5" isBranch="true" permission="2"/>
<map id="2230" name="17.07" ownerid="5" isBranch="true" permission="2"/>
<map id="2935" name="17.07ghjghj" ownerid="5" isBranch="true" permission="2"/>
<map id="3491" name="2" ownerid="5" isBranch="true" permission="2"/>
<map id="2924" name="21.07" ownerid="5" isBranch="true" permission="2"/>
<map id="3607" name="3" ownerid="5" isBranch="true" permission="2"/>
<map id="2798" name="3232" ownerid="5" isBranch="true" permission="2"/>
<map id="6058" name="333" ownerid="5" isBranch="true" permission="2"/>
<map id="3608" name="4" ownerid="5" isBranch="true" permission="2"/>
<map id="3609" name="5" ownerid="5" isBranch="true" permission="2"/>
<map id="3610" name="6" ownerid="5" isBranch="true" permission="2"/>
<map id="3611" name="7" ownerid="5" isBranch="true" permission="2"/>
<map id="2904" name="789" ownerid="5" isBranch="true" permission="2"/>
<map id="3612" name="8" ownerid="5" isBranch="true" permission="2"/>
<map id="3613" name="9" ownerid="5" isBranch="true" permission="2"/>
<map id="5914" name="image lid" ownerid="5" isBranch="true" permission="2"/>
<map id="6204" name="node attributes" ownerid="5" isBranch="true" permission="2"/>
<map id="6022" name="owner" ownerid="5" isBranch="true" permission="2"/>
<map id="6023" name="owner2" ownerid="5" isBranch="true" permission="2"/>
<map id="3493" name="qqqqq" ownerid="5" isBranch="true" permission="2"/>
<map id="3164" name="sps 371" ownerid="5" isBranch="true" permission="2"/>
<map id="4417" name="sps440" ownerid="5" isBranch="true" permission="2"/>
<map id="5398" name="sps514" ownerid="5" isBranch="true" permission="2"/>
</user>
<user id="6" name="Tamila2" isBranch="true">
<map id="176" name="122" ownerid="6" isBranch="true" permission="1"/>
<map id="290" name="3" ownerid="6" isBranch="true" permission="1"/>
<map id="449" name="shared node 3" ownerid="6" isBranch="true" permission="1"/>
<map id="739" name="sps 209" ownerid="6" isBranch="true" permission="1"/>
<map id="479" name="sps169" ownerid="6" isBranch="true" permission="1"/>
<map id="716" name="test(block)" ownerid="6" isBranch="true" permission="1"/>
<map id="1180" name="test1" ownerid="6" isBranch="true" permission="2"/>
</user>
<user id="10" name="y" isBranch="true">
<map id="582" name="ddod" ownerid="10" isBranch="true" permission="1"/>
</user>;
</users>;
[Bindable]
public var open:Object = new Object();
[Bindable]
public var myData:XMLListCollection;
[Bindable]
public var myData2:XMLListCollection
public var secondDP:Boolean=false;
private var refreshData:Boolean = false;
private function init():void
{
myData=new XMLListCollection(xdata.user);
myData2=myData;
}
private function changeProvider():void
{
open=tree.openItems;
secondDP=!secondDP;
if (secondDP)
{
tree.dataProvider=myData
}
else
{
tree.dataProvider=myData2
}
}
private function renderTree():void
{
if (refreshData)
{
refreshData=false;
tree.invalidateList();
tree.openItems = open;
tree.validateNow();
}
}
]]>
</mx:Script>
<mx:Tree id="tree" dataProvider="{myData}" render="renderTree()" width="400" height="300" borderThickness="0" paddingLeft="16" rowHeight="28"
itemRenderer="{new ClassFactory(TaggedMapTreeItemRenderer)}" labelField="@name"
minHeight="0"/>
<mx:Button label="Change Data Provider" click="changeProvider()"/>
</mx:Application>
[/code]
--
Pavel.