arjanpetersen
%Europe/Berlin %846 %2007, 20:18
Ik heb jullie hulp nodig bij het onderstaande probleem. Om de één of andere manier verloopt paginering niet helemaal lekker. De XML en alles wordt wel ingeladen, echter de vorige en volgende button werken niet helemaal goed. Ik weet helaas niet precies wat er allemaal met de variable paginaNummer gebeurd. Misschien dat iemand een uitkomst weet, of weet wat ik over het hoofd zie.
Alvast bedankt voor de geboden hulp!
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" creationComplete="AllReactions.send()">
<mx:Script>
<![CDATA[
import mx.events.*;
import mx.collections.*;
import MyComp.SendForm;
import flash.events.*;
import mx.controls.Alert;
import mx.managers.PopUpManager;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public var loggedin:Boolean = false;
[Bindable]
public var pop:SendForm;
[Bindable]
public var messages:XMLList;
[Bindable]
public var XMLCol:XMLListCollection;
[Bindable]
public var reactions:XMLListCollection;
[Bindable]
public var paginaNummer:int = 1;
private function resultHandler(event:ResultEvent) :void {
messages = event.result.bericht as XMLList;
XMLCol = new XMLListCollection(messages);
CreateContent(XMLCol,1);
}
public function handleFault(event:FaultEvent):void
{
Alert.show(event.fault.faultString, "Error");
}
public function CreateContent(XMLCol:XMLListCollection, paginaNummer:int):void{
reactions = new XMLListCollection;
var aantalItems:int = XMLCol.length;
var aantalPerPagina:int = 10;
var startNummer:int = (paginaNummer - 1) * aantalPerPagina;
var eindNummer:int = startNummer + aantalPerPagina;
var aantalPaginas:int = Math.ceil(aantalItems / aantalPerPagina);
if (eindNummer > aantalItems) eindNummer = XMLCol.length;
for (var i:int=0; i < eindNummer ; i++) {
var tempXML:Object;
tempXML = XMLCol.getItemAt(i);
reactions.addItem(tempXML);
}
if (paginaNummer > 1) {
vorige.visible = true;
} else {
vorige.visible = false;
}
if (paginaNummer < aantalPaginas) {
volgende.visible = true;
}
else {
volgende.visible = false;
}
}
public function showReactie():void
{
pop = SendForm(PopUpManager.createPopUp(this,SendForm,tr ue));
pop.title = "Please enter your login information.";
pop.showCloseButton =true;
PopUpManager.centerPopUp(pop);
pop.addEventListener("close",removeMe);
pop["Ok"].addEventListener("click",processReactie);
}
public function removeMe(event:Event):void {
PopUpManager.removePopUp(pop);
}
private function processReactie(event:Event):void
{
Alert.show("Reactie toegevoegd!");
removeMe(event);
AllReactions.send();
}
]]>
</mx:Script>
<mx:HTTPService id="AllReactions" url="http://localhost/test-debug/PHP/request.php" useProxy="false"
method="POST" resultFormat="e4x" result="resultHandler(event)" fault="handleFault(event)"/>
<mx:Text text="{paginaNummer}"/>
<mx:Panel autoLayout="true">
<mx:Repeater id="rep" dataProvider="{reactions}">
<mx:Label id="alles" text="{rep.currentItem.naam} zegt: {rep.currentItem.inhoud}"/>
</mx:Repeater>
<mx:Button id="vorige" label="vorige" click="CreateContent(XMLCol,paginaNummer - 1);"/>
<mx:Button id="volgende" label="volgende" click="CreateContent(XMLCol,paginaNummer + 1);"/>
</mx:Panel>
<mx:Button id="reactie" label="reactie" click="showReactie();"/>
</mx:VBox>
Alvast bedankt voor de geboden hulp!
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300" creationComplete="AllReactions.send()">
<mx:Script>
<![CDATA[
import mx.events.*;
import mx.collections.*;
import MyComp.SendForm;
import flash.events.*;
import mx.controls.Alert;
import mx.managers.PopUpManager;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
public var loggedin:Boolean = false;
[Bindable]
public var pop:SendForm;
[Bindable]
public var messages:XMLList;
[Bindable]
public var XMLCol:XMLListCollection;
[Bindable]
public var reactions:XMLListCollection;
[Bindable]
public var paginaNummer:int = 1;
private function resultHandler(event:ResultEvent) :void {
messages = event.result.bericht as XMLList;
XMLCol = new XMLListCollection(messages);
CreateContent(XMLCol,1);
}
public function handleFault(event:FaultEvent):void
{
Alert.show(event.fault.faultString, "Error");
}
public function CreateContent(XMLCol:XMLListCollection, paginaNummer:int):void{
reactions = new XMLListCollection;
var aantalItems:int = XMLCol.length;
var aantalPerPagina:int = 10;
var startNummer:int = (paginaNummer - 1) * aantalPerPagina;
var eindNummer:int = startNummer + aantalPerPagina;
var aantalPaginas:int = Math.ceil(aantalItems / aantalPerPagina);
if (eindNummer > aantalItems) eindNummer = XMLCol.length;
for (var i:int=0; i < eindNummer ; i++) {
var tempXML:Object;
tempXML = XMLCol.getItemAt(i);
reactions.addItem(tempXML);
}
if (paginaNummer > 1) {
vorige.visible = true;
} else {
vorige.visible = false;
}
if (paginaNummer < aantalPaginas) {
volgende.visible = true;
}
else {
volgende.visible = false;
}
}
public function showReactie():void
{
pop = SendForm(PopUpManager.createPopUp(this,SendForm,tr ue));
pop.title = "Please enter your login information.";
pop.showCloseButton =true;
PopUpManager.centerPopUp(pop);
pop.addEventListener("close",removeMe);
pop["Ok"].addEventListener("click",processReactie);
}
public function removeMe(event:Event):void {
PopUpManager.removePopUp(pop);
}
private function processReactie(event:Event):void
{
Alert.show("Reactie toegevoegd!");
removeMe(event);
AllReactions.send();
}
]]>
</mx:Script>
<mx:HTTPService id="AllReactions" url="http://localhost/test-debug/PHP/request.php" useProxy="false"
method="POST" resultFormat="e4x" result="resultHandler(event)" fault="handleFault(event)"/>
<mx:Text text="{paginaNummer}"/>
<mx:Panel autoLayout="true">
<mx:Repeater id="rep" dataProvider="{reactions}">
<mx:Label id="alles" text="{rep.currentItem.naam} zegt: {rep.currentItem.inhoud}"/>
</mx:Repeater>
<mx:Button id="vorige" label="vorige" click="CreateContent(XMLCol,paginaNummer - 1);"/>
<mx:Button id="volgende" label="volgende" click="CreateContent(XMLCol,paginaNummer + 1);"/>
</mx:Panel>
<mx:Button id="reactie" label="reactie" click="showReactie();"/>
</mx:VBox>