Hi,
I have develop an application in which I want to compare 2
arrayCollection after a refesh. That's why I use share Objects.
However, the arrayCollection failed to store as shared objects. May
anyone tell me which aprt went wrong? Below is my code:
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.utils.ObjectUtil;
import flash.net.SharedObject;
[Bindable]
public var welcomeMessage:String;
[Bindable]
public var localBus:ArrayCollection = new ArrayCollection();
[Bindable]
public var localBus1:ArrayCollection = new ArrayCollection();
[Bindable]
public var orgData:ArrayCollection = new ArrayCollection();
public var lsofeeds:LSOHandler;
public var lsosites:LSOHandler;
public var lsobus:LSOHandler;
private var request:URLRequest = new URLRequest("http://
192.168.0.1/HISuite/HI_MEC_rssDisplayLatestCloseROUpdates.php");
private var loader:URLLoader = new URLLoader();
private var XML_busList:XML;
private function onComplete(event:Event):void
{
try{
var loader:URLLoader = event.target as URLLoader;
if (loader != null)
{
XML_busList = new XML(loader.data);
//trace(XML_busList.toXMLString());
var a:String = XML_busList.toXMLString();
var arr:Array =new Array();
for each (var prop:XML in XML_busList.row)
{
var obj:Object = new Object();
arr.push(String(prop.attribute("wipbusno")));
obj.Bus =
arr.shift();
orgData.addItem(obj);
}
}
}catch(e:TypeError){
Alert.show("Error");
}
}
public function aNotInB(avArrayA :ArrayCollection,
avArrayB :ArrayCollection):ArrayCollection
{
var lvArray:ArrayCollection;
for each( var avObjectA:Object in avArrayA )
{
if( avArrayB.getItemIndex( avObjectA ) == - 1 )
lvArray.addItem( avObjectA );
}
return lvArray;
}
private function initApp():void {
loader.load(this.request);
loader.addEventListener(Event.COMPLETE, onComplete);
lsobus = new LSOHandler("wipbusno");
localBus1 = lsobus.getObjects();
trace(localBus1);
ocalBus = aNotInB(orgData, localBus1);
for each( var avObjectA:Object in orgData )
{
trace("add bus 1");
lsobus.addObject(avObjectA);
}
}
]]>
</mx:Script>
<mx:DataGrid dataProvider="{localBus1}">
<mx:columns>
<mx:DataGridColumn headerText="Local Bus 1"
dataField="Bus"/>
</mx:columns>
</mx:DataGrid>
<mx:DataGrid dataProvider="{orgData}">
<mx:columns>
<mx:DataGridColumn headerText="Bus" dataField="Bus"/>
</mx:columns>
</mx:DataGrid>
<mx:DataGrid dataProvider="{localBus}">
<mx:columns>
<mx:DataGridColumn headerText="Local Bus" dataField="Bus"/
>
</mx:columns>
</mx:DataGrid>
</mx:Application>
The trace result shows that the shared objects is null and the string
"add bus 1" doesnt show.I know it may be the problem of how I handle
the shared object. Can anyone help?
Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Flex
India Community" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/flex_india?hl=en
-~----------~----~----~----~------~----~------~--~---