PDA

View Full Version : The datagrid load the first time but wont load after a new volunteer is added


corbo950
11-12-2008, 12:59 AM
The data loads into the grid just fine the first time but then it wont load the updates. im not sure what is wrong... i did test and it does run the result function but then data doesn't change ... any ideas?

Volunteer:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*" xmlns:days="days.*" creationComplete="getVolunteers();">
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.rpc.events.ResultEvent;

public var volunteerPopUp:itemClickPopUp = new itemClickPopUp();
[Bindable]
public var selectionData:Object = new Object();
[Bindable]
public var volunteerData:XML;
private var params:Object = new Object();
public function getVolunteers():void {
volunteerService.removeEventListener(ResultEvent.R ESULT,volunteerResultHandler);
volunteerService.addEventListener(ResultEvent.RESU LT,volunteersResult);
volunteerService.method = "GET";
params['method'] = "FindAll";
volunteerService.cancel();
volunteerService.send(params);
}
public function volunteersResult(event:ResultEvent):void {
volunteerData = XML(event.result);
mx.core.Application.application.friday.PM.parseDay Time();
mx.core.Application.application.saturday.AM.parseD ayTime();
mx.core.Application.application.saturday.PM.parseD ayTime();
mx.core.Application.application.sunday.AM.parseDay Time();
mx.core.Application.application.sunday.PM.parseDay Time();

}
public function volunteerResultHandler(event:ResultEvent):void {
getVolunteers();
mx.core.Application.application.volunteerPopUp.clo sePopUp();
}
]]>
</mx:Script>
<mx:HTTPService
id="volunteerService"
url="http://127.0.0.1/volunteers.php"
resultFormat="e4x"
showBusyCursor="true"
useProxy="false"/>
<mx:Canvas width="100%" height="100%">
<mx:TabNavigator width="97%" height="96%" horizontalCenter="0" verticalCenter="0" creationPolicy="all">
<days:Fri id="friday" label="Friday" width="100%" height="100%"/>
<days:SatSun id="saturday" label="Saturday" day="sat" width="100%" height="100%"/>
<days:SatSun id="sunday" label="Sunday" day="sun" width="100%" height="100%"/>
</mx:TabNavigator>
</mx:Canvas>
</mx:Application>

Friday:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:local="*">
<mx:Box width="97%" height="97%" horizontalCenter="0">
<mx:TabNavigator width="100%" height="100%" creationPolicy="all">
<local:Time id="PM" label="PM" day="fri" time="PM" width="100%" height="100%"/>
</mx:TabNavigator>
</mx:Box>
</mx:Canvas>

Sun/Sat:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%" xmlns:local="*">
<mx:Script>
<![CDATA[
[Bindable]
public var day:String;
]]>
</mx:Script>
<mx:Box width="97%" height="97%" horizontalCenter="0">
<mx:TabNavigator width="100%" height="100%" creationPolicy="all">
<local:Time id="AM" label="AM" day="{day}" time="AM" width="100%" height="100%"/>
<local:Time id="PM" label="PM" day="{day}" time="PM" width="100%" height="100%"/>
</mx:TabNavigator>
</mx:Box>
</mx:Canvas>

Time:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.collections.XMLListCollection;
import mx.core.Application;
import mx.events.ListEvent;
import mx.managers.PopUpManager;
import mx.controls.Alert;

[Bindable]
public var time:String;
[Bindable]
public var day:String;
[Bindable]
public var volunteerListCollection:XMLListCollection;

public function parseDayTime(): void {
var volunteerList:XMLList;
if(time=="PM"&&day=="fri")
{
volunteerList = mx.core.Application.application.volunteerData.data .fri_PM.children();
}
else if(time=="AM"&&day=="sat")
{
volunteerList = mx.core.Application.application.volunteerData.data .sat_AM.children();
}
else if(time=="PM"&&day=="sat")
{
volunteerList = mx.core.Application.application.volunteerData.data .sat_PM.children();
}
else if(time=="AM"&&day=="sun")
{
volunteerList = mx.core.Application.application.volunteerData.data .sun_AM.children();
}
else if(time=="PM"&&day=="sun")
{
volunteerList = mx.core.Application.application.volunteerData.data .sun_PM.children();
}
else
{
Alert.show("Data Load Error", "Error", mx.controls.Alert.OK);
}
volunteerListCollection = new XMLListCollection(volunteerList);
}


private function itemClickEvent(event:ListEvent):void {
mx.core.Application.application.selectionData.id = volunteerGrid.selectedItem.id;
mx.core.Application.application.selectionData.posi tion = volunteerGrid.selectedItem.position;
mx.core.Application.application.selectionData.day = day;
mx.core.Application.application.selectionData.time = time;
mx.core.Application.application.selectionData.name = volunteerGrid.selectedItem.name;
mx.core.Application.application.selectionData.desc ription = volunteerGrid.selectedItem.description;
PopUpManager.addPopUp(mx.core.Application.applicat ion.volunteerPopUp, this);
PopUpManager.centerPopUp(mx.core.Application.appli cation.volunteerPopUp)
mx.core.Application.application.volunteerPopUp.des cription.descriptionArea.text = String(volunteerGrid.selectedItem.description);
}

]]>
</mx:Script>
<mx:DataGrid width="95%" height="95%" horizontalCenter="0" verticalCenter="0" dataProvider="volunteerListCollection" id="volunteerGrid" itemClick="itemClickEvent(event);">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="Name"/>
<mx:DataGridColumn dataField="position" headerText="Position"/>
</mx:columns>
</mx:DataGrid>
</mx:Canvas>

corbo950
11-12-2008, 01:00 AM
volunteerpopup:

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" label="Position" layout="absolute" width="400" height="300" xmlns:itemClickPopUp="itemClickPopUp.*" title="Position" borderColor="#E2E2E2" backgroundAlpha="1.0" alpha="1.0">
<mx:Script>
<![CDATA[
import mx.core.Application;
import mx.managers.PopUpManager;

public function closePopUp(): void {
PopUpManager.removePopUp(mx.core.Application.appli cation.volunteerPopUp);
mx.core.Application.application.volunteerPopUp.pop UpViewStack.selectedIndex = 0;
}
]]>
</mx:Script>
<mx:ViewStack id="popUpViewStack" width="100%" height="100%" creationPolicy="all">
<itemClickPopUp:description id="description" width="100%" height="100%"/>
<itemClickPopUp:volunteer id="volunteer" width="100%" height="100%"/>
</mx:ViewStack>
</mx:TitleWindow>

description:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.core.Application;
import mx.controls.Alert;

private function clickVolunteerButton(): void {
if(String(mx.core.Application.application.selectio nData.name) == "Available")
{
var day:String
if(mx.core.Application.application.selectionData.d ay == "sat")
{
day = "Saturday";
}
else if(mx.core.Application.application.selectionData.d ay == "sun")
{
day = "Sunday";
}
else if(mx.core.Application.application.selectionData.d ay == "fri")
{
day = "Friday";
}
else
{
Alert.show("Could not select day", "Error", mx.controls.Alert.OK)
}
mx.core.Application.application.volunteerPopUp.vol unteer.dayTime.text = String(day + " " + mx.core.Application.application.selectionData.time );
mx.core.Application.application.volunteerPopUp.vol unteer.positionInput.text = String(mx.core.Application.application.selectionDa ta.position);
mx.core.Application.application.volunteerPopUp.vol unteer.nameInput.text = String(mx.core.Application.application.selectionDa ta.name);
mx.core.Application.application.volunteerPopUp.pop UpViewStack.selectedIndex = 1;
}
else
{
Alert.show("This position has already been filled", "User Error", mx.controls.Alert.OK);
}
}
]]>
</mx:Script>
<mx:Box width="90%" height="90%" horizontalCenter="0" verticalCenter="0">
<mx:TextArea id="descriptionArea" text="{mx.core.Application.application.selectionData.des cription}" width="100%" height="100%"/>
<mx:HBox width="100%" height="35">
<mx:Canvas width="50%" height="100%">
<mx:Button id="volunteerButton" label="Volunteer" click="{clickVolunteerButton();}" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
<mx:Canvas width="50%" height="100%">
<mx:Button id="exitButton" label="Close" click="{mx.core.Application.application.volunteerPopUp.cl osePopUp()}" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
</mx:HBox>
</mx:Box>
</mx:Canvas>

volunteer:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.core.Application;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;

private var params:Object = new Object();

public function updateVolunteer():void {
if(nameInput.text != "Available")
{
mx.core.Application.application.volunteerService.r emoveEventListener(ResultEvent.RESULT,mx.core.Appl ication.application.volunteersResult);
mx.core.Application.application.volunteerService.a ddEventListener(ResultEvent.RESULT,mx.core.Applica tion.application.volunteerResultHandler);
mx.core.Application.application.volunteerService.m ethod = "POST";
params = {
"method": "UpdateVolunteer",
"day": String(mx.core.Application.application.selectionDa ta.day),
"time": String(mx.core.Application.application.selectionDa ta.time),
"name": nameInput.text,
"id": String(mx.core.Application.application.selectionDa ta.id)
};
mx.core.Application.application.volunteerService.c ancel();
mx.core.Application.application.volunteerService.s end(params);
}
else
{
Alert.show("User Error: No name input!", "User Error", mx.controls.Alert.OK);
}

}
]]>
</mx:Script>
<mx:Box width="90%" height="90%" horizontalCenter="0" verticalCenter="0">
<mx:Box width="100%" height="100%">
<mx:Canvas width="100%" height="33.33%">
<mx:TextInput id="nameInput" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
<mx:Canvas width="100%" height="33.33%">
<mx:TextInput id="positionInput" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
<mx:Canvas width="100%" height="33.33%">
<mx:TextInput id="dayTime" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
</mx:Box>
<mx:HBox width="100%" height="35">
<mx:Canvas width="50%" height="100%">
<mx:Button id="volunteerSubmit" label="Volunteer" click="updateVolunteer();" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
<mx:Canvas width="50%" height="100%">
<mx:Button id="exitButton" label="Close" click="{mx.core.Application.application.volunteerPopUp.cl osePopUp()}" verticalCenter="0" horizontalCenter="0"/>
</mx:Canvas>
</mx:HBox>
</mx:Box>
</mx:Canvas>