Aurelio
%Europe/Berlin %774 %2009, 18:35
Hi,
Ik werk momenteel aan een project waarbij ik gebruik maak van RemoteObjects en amfphp.
De results van de RemoteObjects komen terug als ArrayCollection, en daar wil ik graag doorheen loopen om headers en bijpassende subheaders in een logische volgorde te plaatsen.
Het probleem dat ik heb hij in de loop niet de inhoud van de ArrayCollections ziet. Ik heb echter ook twee DataGrids geplaatst met de betreffende ArrayCollections als dataProvider, en daaruit blijkt dat de ArrayCollections wel degelijk de juiste informatie bevat.
Wat doe ik fout? En hoe zorg ik ervoor dat de juiste informatie uit de ArrayCollections kan worden getrokken?
Bij voorbaat dank!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:comps="components.*" initialize="init()">
<mx:Script>
<![CDATA[
import mx.containers.VBox;
import flash.sampler.getInvocationCount;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
[Bindable] private var headersAC:ArrayCollection = new ArrayCollection();
[Bindable] private var subheadersAC:ArrayCollection = new ArrayCollection();
private function init():void {
myService.getOperation("getHeaders").send();
myService.getOperation("getSubheaders").send();
}
private function headersHandler(event:ResultEvent):void {
headersAC = event.result as ArrayCollection;
}
private function subheadersHandler(event:ResultEvent):void {
subheadersAC = event.result as ArrayCollection;
fillAccordion();
}
private function faultHandler(event:FaultEvent):void {
Alert.show(event.fault.faultString, event.fault.faultCode);
trace(event.fault.faultString);
}
// fill up the Accordion
private function fillAccordion():void {
trace(headersAC.getItemAt(1).name as String);
for(var i:int=0; i<6; i++) {
trace(headersAC.getItemAt(i).name as String);
var vb:VBox = new VBox();
vb.label = headersAC.getItemAt(i).name as String;
vb.x = 200;
vb.y = 500;
vb.width = 300;
vb.height = 400;
navAcc.addChild(vb);
}
}
]]>
</mx:Script>
<mx:Style source="assets/css/main.css"/>
<mx:RemoteObject id="myService" endpoint="http://localhost/amfphp/gateway.php" source="reisgids.MainContentService" destination="amfphp"
fault="faultHandler(event)" showBusyCursor="true">
<mx:method name="getHeaders" result="headersHandler(event)"/>
<mx:method name="getSubheaders" result="subheadersHandler(event)"/>
</mx:RemoteObject>
<!-- *** bar bovenin *** -->
<mx:LinkButton label="uitloggen" left="70" top="20"/>
<mx:TextInput y="20" right="105" text="vul hier uw zoekterm in"/>
<mx:LinkButton y="20" label="zoek" right="50"/>
<!--Accordion -->
<mx:Accordion id="navAcc" width="240" y="73" backgroundColor="#CCC0CE"
paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10">
</mx:Accordion>
<mx:HDividedBox width="100%" height="100%" x="240" y="73">
<!--Main Content -->
<mx:VBox width="60%" height="100%" backgroundColor="#DDDDFF">
<mx:Label text="Header" fontWeight="bold"/>
<mx:Label text="subheader" fontWeight="bold"/>
<mx:Label text="pageTitle" fontWeight="bold"/>
<mx:Text text="Lorem Ipsum etc."/>
<!-- **** Test om te zien of gegevens goed uit de query komen!!! **** -->
<mx:DataGrid dataProvider="{headersAC}"/>
<mx:DataGrid dataProvider="{subheadersAC}" rowCount="{subheadersAC.length}"/>
</mx:VBox>
</mx:HDividedBox>
</mx:Application>
Ik werk momenteel aan een project waarbij ik gebruik maak van RemoteObjects en amfphp.
De results van de RemoteObjects komen terug als ArrayCollection, en daar wil ik graag doorheen loopen om headers en bijpassende subheaders in een logische volgorde te plaatsen.
Het probleem dat ik heb hij in de loop niet de inhoud van de ArrayCollections ziet. Ik heb echter ook twee DataGrids geplaatst met de betreffende ArrayCollections als dataProvider, en daaruit blijkt dat de ArrayCollections wel degelijk de juiste informatie bevat.
Wat doe ik fout? En hoe zorg ik ervoor dat de juiste informatie uit de ArrayCollections kan worden getrokken?
Bij voorbaat dank!
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:comps="components.*" initialize="init()">
<mx:Script>
<![CDATA[
import mx.containers.VBox;
import flash.sampler.getInvocationCount;
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
[Bindable] private var headersAC:ArrayCollection = new ArrayCollection();
[Bindable] private var subheadersAC:ArrayCollection = new ArrayCollection();
private function init():void {
myService.getOperation("getHeaders").send();
myService.getOperation("getSubheaders").send();
}
private function headersHandler(event:ResultEvent):void {
headersAC = event.result as ArrayCollection;
}
private function subheadersHandler(event:ResultEvent):void {
subheadersAC = event.result as ArrayCollection;
fillAccordion();
}
private function faultHandler(event:FaultEvent):void {
Alert.show(event.fault.faultString, event.fault.faultCode);
trace(event.fault.faultString);
}
// fill up the Accordion
private function fillAccordion():void {
trace(headersAC.getItemAt(1).name as String);
for(var i:int=0; i<6; i++) {
trace(headersAC.getItemAt(i).name as String);
var vb:VBox = new VBox();
vb.label = headersAC.getItemAt(i).name as String;
vb.x = 200;
vb.y = 500;
vb.width = 300;
vb.height = 400;
navAcc.addChild(vb);
}
}
]]>
</mx:Script>
<mx:Style source="assets/css/main.css"/>
<mx:RemoteObject id="myService" endpoint="http://localhost/amfphp/gateway.php" source="reisgids.MainContentService" destination="amfphp"
fault="faultHandler(event)" showBusyCursor="true">
<mx:method name="getHeaders" result="headersHandler(event)"/>
<mx:method name="getSubheaders" result="subheadersHandler(event)"/>
</mx:RemoteObject>
<!-- *** bar bovenin *** -->
<mx:LinkButton label="uitloggen" left="70" top="20"/>
<mx:TextInput y="20" right="105" text="vul hier uw zoekterm in"/>
<mx:LinkButton y="20" label="zoek" right="50"/>
<!--Accordion -->
<mx:Accordion id="navAcc" width="240" y="73" backgroundColor="#CCC0CE"
paddingBottom="10" paddingLeft="10" paddingRight="10" paddingTop="10">
</mx:Accordion>
<mx:HDividedBox width="100%" height="100%" x="240" y="73">
<!--Main Content -->
<mx:VBox width="60%" height="100%" backgroundColor="#DDDDFF">
<mx:Label text="Header" fontWeight="bold"/>
<mx:Label text="subheader" fontWeight="bold"/>
<mx:Label text="pageTitle" fontWeight="bold"/>
<mx:Text text="Lorem Ipsum etc."/>
<!-- **** Test om te zien of gegevens goed uit de query komen!!! **** -->
<mx:DataGrid dataProvider="{headersAC}"/>
<mx:DataGrid dataProvider="{subheadersAC}" rowCount="{subheadersAC.length}"/>
</mx:VBox>
</mx:HDividedBox>
</mx:Application>