HI,
I have an issue with an array which created on the result of a
remoteObject call. The result is set to an array like this inside
the result function:
array = new Array();
array = mx.utils.ArrayUtil.toArray(event.result);
The array is substantiated outside this function like so:
var array:Array;
The result from the remoteObject is also used as a dataProvider to a
List, which has drag and drop functionality and the dataProvider is
assigned as such:
dataProvider="{service.getMethod.result}"
Now, this lists' dataProvider can enlarge as objects are added to it
through dragging and dropping, irrelevant I hear you say.
The problem is, I set the array when the result is received in order
for me to check it against the datProvider of the List before I
return it to the server (i.e. I do a diff on the array from the
result and the dataProvider on the List and I get a new array of the
new Objects dragged to the List), like this:
public function addNewObjects(){
var newArray:Array = new Array();
var newArray2:Array = new Array();
arrayOfListObjects = mx.utils.ArrayUtil.toArray(list.dataProvider);
newArray = NotInB(arrayOfListObjects,array);
if(newArray.length != 0){
for(var k = 0;k<newArray.length;k++){
var newObjectVO:ObjectVO = new ObjectVO();
newObjectVO.label = newArray[k].label;
newObjectVO.data = newArray[k].data;
newArray2.push(newObjectVO);
}
service.addObjects(newArray2);
}else{
mx.core.Application.alert("Complain a lot about not adding
anything!");
}
}
for clarity the NotInB function does this:
public function NotInB(arrayA,arrayB) {
var tempAry= new Array();
var i,j;
for (i=0; i<arrayA.length; i++) {
for (j=0; j<arrayB.length; j++) {
if (arrayA[i].data==arrayB[j].data) {
break;
}
}
if (j==arrayB.length) {
tempAry.push(arrayA[i]);
}
}
return tempAry;
}
No problem, this all works first time without an issue, and the
objects are passed to the server as expected, then everything goes
wrong. From then on the array which is set from the result object is
set ok (I have traced out the array when it is created every time
and it is correct), but when I drag objects to the List they are
also added to this array, why? there is no binding to it! so every
time after the first time I add the new objects I 'Complain a lot
about not adding anything!'.
Please help.
Cheers,
Iain
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/