无法在排序列上将Flex Grid数据编码为JSON

时间:2011-11-28 10:07:27

标签: json flash flex flash-builder

创建了一个可编辑的flex网格,它将一个名为getGridData()的方法暴露给javascript。我正在使用com.adobe.serialization.json库的JSON.encode()方法将网格对象的dataProvider转换为JSON,然后再返回它。

ExternalInterface.addCallback("getGridData", getGridData);

public function getGridData():String
            {
                var ac:ArrayCollection = grid.dataProvider as ArrayCollection;  
                var jsonData:String = JSON.encode(ac); //failing here
                return jsonData;
            }

但是,当我在用户界面中对列进行排序时,编码方法失败会引发以下错误

Property usingCustomCompareFunction not found on mx.collections.SortField and there is no default value.

无法弄清楚这里出了什么问题。

1 个答案:

答案 0 :(得分:0)

对dataProvider的源代码进行编码

public function getGridData():String {
    var ac:ArrayCollection = grid.dataProvider as ArrayCollection;  
    var jsonData:String = JSON.encode(ac.source); //failing here
    return jsonData;
}