我是Flash和PHP的新手。我正在使用FlashBuilder和PHP产品。我有一个连接到PHP脚本的数据网格,该脚本通过“启用数据管理”功能检索和更新数据。如果我使用屏幕修改网格上的数据并调用.commit(),一切正常。
但是,我想以编程方式更改网格下的数据中的某些值,并在commit()时将这些更改返回到PHP脚本中的更新函数。叫做。但我无法弄清楚如何更改基础数据。
这是我尝试过的代码:(我来回传递给PHP脚本的对象是调用MailPiece。我想在数据的每一行上设置WORKORDERNUMBER字段)
var gridDataProvider : AsyncListView = dataGrid.dataProvider as AsyncListView;
var myMailPiece:MailPiece = gridDataProvider.getItemAt(0) as MailPiece;
var myWorkOrderNumber:String = myMailPiece.WORKORDERNUMBER;
myMailPiece.WORKORDERNUMBER="NEWWO";
(dataGrid.dataProvider).setItemAt(myMailPiece,0);
trace("about to commit");
TPP1Service.commit();
当我执行上面的脚本代码时,执行commit()时会收到以下消息: MessageBatch.applyTokenChain:emtpy token cache
有人可以帮助我指出正确的方向吗?
谢谢, 鲍勃
答案 0 :(得分:0)
原来问题来自php服务
答案 1 :(得分:0)
您可以致电gridDataProvider.refresh()
刷新dataProvider
或者,您可以通过调用gridDataProvider.itemUpdated(myMailPiece)
;
var gridDataProvider : AsyncListView = dataGrid.dataProvider as AsyncListView;
var myMailPiece:MailPiece = gridDataProvider.getItemAt(0) as MailPiece;
myMailPiece.WORKORDERNUMBER="NEWWO";
gridDataProvider.itemUpdated(myMailPiece);