flash data integration:
Hi there,
I'm trying to create a result page that displays a datagrid based on a simple
xml file. For that purpose I created a XMLConnector that feeds my DataSet,
which again feeds my DataGrid. Once displayed in the DataGrid, I would like to
things to happen.
1. I would like to use a combobox to interact with my results to refine my
search and
2. as I set the datagrid to editable, I would like the updates made within my
flash movie to modify my xml file.
I tried to create a XUpdater but i'm not clear to which component I have to
link it to and above all what parameters, bindings and schema i shall use.
Please does anyone know a good tutorial that explains all I need ?
Is there anyone outthere I could send my files to for a quick re-engineering ?
thanks
Guillaume
import mx.utils.Delegate;
var startTime:Number;
var loading:Boolean;
function addInfo(text:String):Void {
info_ta.text += newline+text;
info_ta.doLater(this, "updateInfoScrollPosition");
}
function updateInfoScrollPosition() {
info_ta.vPosition = info_ta.maxVPosition;
}
function doStart(eventObj:Object):Void {
loading = true;
startTime = getTimer();
client_con.trigger();
}
startButton.addEventListener("click", Delegate.create(this, doStart));
function selectMyRow():Void {
client_dg.selectedIndex = 3;
client_dg.dispatchEvent({type:"change"});
}
function doAfterLoaded(eventObj:Object):Void {
selectMyRow();
}
function doModelChanged(eventObj:Object):Void {
if (loading) {
addInfo("It works in : "+(getTimer()-startTime)+"ms");
loading = false;
}
}
client_ds.addEventListener("afterLoaded", Delegate.create(this,
doAfterLoaded));
client_ds.addEventListener("modelChanged", Delegate.create(this,
doModelChanged));
client_con.addEventListener("result", Delegate.create(this, doParseData));
function doParseData():Void {
var dataXML:XML = client_con.results;
var resultArray:Array = [];
var mainNode = dataXML.firstChild;
var aNode:XMLNode = mainNode.firstChild;
while (aNode) {
var obj = new Object();
for (var attribute:String in aNode.attributes) {
if (attribute != "country") {
obj[attribute] = Number(aNode.attributes[attribute]);
} else {
obj[attribute] = aNode.attributes[attribute];
}
}
resultArray.push(obj);
aNode = aNode.nextSibling;
}
client_ds.items = resultArray;
}