public function saveUpdateStrategySucceededHandler(returnedResults:ArrayCollection ):void
{
trace("oooooopppppppooo");
isSavingStrategy = false;
isStrategyChanged = false;
isStrategySelected = false;
isNewStrategySaved = true;
strategiesOfCurrentClient = returnedResults;
strategiesOfCurrentClientCache = ObjectUtil.copy(strategiesOfCurrentClient) as ArrayCollection;
strategiesOfCurrentClient.addEventListener(CollectionEvent.COLLECTION_CHANGE,strategyChangedHandler);
//strategy real time on tab manageUserMcmp
currentImId = currentClientInTabManageUser.selectedItem.clientId;
trace("dfsdfireoyiy"+ObjectUtil.toString(currentImId));
loadStrategiesByCurrentIM();
tabUser.setStrategiesOfIMChecked();
if(doesRemove)
{
strategyMarketsOfCurrentStrategy = null;
}
Alert.show(AlertMessageConstants.SAVE_SUCCEEDED, AlertMessageConstants.NOTICE);
}
其中currentClientInTabManageUser与界面的DataGrid绑定
log:
Method "saveUpdateStrategy" cost 0.078 seconds.
oooooopppppppooo
也就是说在save 完成后没有跑到 trace("dfsdfireoyiy"+ObjectUtil.toString(currentImId));
这可能是由于 currentClientInTabManageUser. selectedItem 没有值绑定,执行到这句出错,但没有提示ALERT.SHOW也没出来。
后改成
public function saveUpdateStrategySucceededHandler(returnedResults:ArrayCollection ):void
{
isSavingStrategy = false;
isStrategyChanged = false;
isStrategySelected = false;
isNewStrategySaved = true;
strategiesOfCurrentClient = returnedResults;
strategiesOfCurrentClientCache = ObjectUtil.copy(strategiesOfCurrentClient) as ArrayCollection;
strategiesOfCurrentClient.addEventListener(CollectionEvent.COLLECTION_CHANGE,strategyChangedHandler);
//strategy real time on tab manageUserMcmp
if(currentClientInTabManageUser.selectedItem)
{
this.currentImId = currentClientInTabManageUser.selectedItem.clientId;
loadStrategiesByCurrentIM();
tabUser.setStrategiesOfIMChecked();
}
if(doesRemove)
{
strategyMarketsOfCurrentStrategy = null;
}
Alert.show(AlertMessageConstants.SAVE_SUCCEEDED, AlertMessageConstants.NOTICE);
}
问题解决。