创建了一个可编辑的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.
无法弄清楚这里出了什么问题。
答案 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;
}