[flex] 关于CollectionEvent中的items的属性调用

yexin218 2008-06-10
private function getJsonData(event:ResultEvent):void{
var rawArray:Array;
var arraySize:int;
var rawData:String = event.result as String;
rawArray = JSON.decode(rawData) as Array;
dataArray = new ArrayCollection(rawArray);
arraySize = dataArray.length;
lblStatus.text="There are "+arraySize+"messages";
dataArray.addEventListener(CollectionEvent.COLLECTION_CHANGE,dataChanged);
}

这里是从java后台用remoteObject返回的的json格式的数组作为datagrid中的data provider.同时我要实现在datagrid可以让用户修改和删除数据,然后保存到数据库。可是在函数dataChanged()遇到了一些问题:
    private function dataChanged(event:CollectionEvent):void{
    var item:Object;
    var updatedObj:Object;
    var i:int;
    if(event.kind == CollectionEventKind.UPDATE){
    for(i=0;i < event.items.length;i++){
    item = event.items;
    lblStatus.text=item.toString();
    updatedObj = new Object;
    updatedObj.operation = "update"
    //updatedObj.id = item.source.id;
    //updatedObj.property = item.property;
    //updatedObj.value = item.source[item.property];
    dataToUpdate.push(updatedObj);
    }
    }else if(event.kind == CollectionEventKind.REMOVE){
    for(i=0;i< event.items.length;i++){
    item = event.items;
    updatedObj = new Object;
    updatedObj.operation = "delete";
    //updatedObj.id = item.id;
    dataToUpdate.push(updatedObj);
    }
    }
    if(chkAutoUpdate.selected){
    sendDataAction();
    }
    }



方法中有一个就是从事件CollectionEvent返回的items.我不知道例子中(我参考别人的例子)用的flex版本是多少,反正在flex3中没有出现
//updatedObj.id = item.source.id;
                    //updatedObj.property = item.property;
                    //updatedObj.value = item.source[item.property];

这些右边的item.property,item.source.id属性。那我怎么样才能在datagrid中拿到用户所编辑的行的数据,比如那一行的用户id,name,以及用户更改在那一列的属性(property)呢?然后在吧更新的数据保存在updatedObject传给后台做更新数据库处理呢?
谢谢大家帮忙!
Liceven
yexin218 2008-06-10
anyone who could do me a favor. thanks very much
sprite 2008-06-13
直接用DataGrid的selectedItem不就知道当前编辑的是哪一行(数据)了吗?
yexin218 2008-06-16
那如果的到了index数值,怎么对应在ArrayCollection中的那一系列的值啊?
w121078979 2010-11-16
保存整个对象不行么?
smithfox 2010-12-30
请看我的blog文章: http://www.smithfox.com/?e=38

CollectionEventKind.UPDATE时, items成员是PropertyChangeEventKind对象
Global site tag (gtag.js) - Google Analytics