一上午都在头疼,因为感冒,因为程序问题。现在问题解决了,还是头疼,那是感冒。
在Flex用Datagrid的时候,当我们需要校验某单元格的是在数据库是否存在的时候,如果在数据库存在,然后页面上单元格的值就要还原到以前的值,或者清空. 一直改变了值,但是页面还是没有改变,那是因为没有刷新页面。
我只有这个办法解决这类问题,如果你懂的更多,请告诉我,谢谢。。。。
代码一段:
var prucWS1:IPurchaseService = new IPurchaseService();
var isExistHKIDHandler:Function = function isExistHKIDHandler(event:IsExistHKIDResultEvent):void
{
if(event.result){
Alert.show("Duplicate ID. No. "+str+" where there exists an active record");
e.itemRenderer.data[e.dataField] = oldStr;
addFamilyData.invalidateList(); //手动刷新DataGrid数据
}
};
prucWS1.addisExistHKIDEventListener(isExistHKIDHandler);
prucWS1.isExistHKID(str);
注意:代码中的 e 是(e:DataGridEvent) ,也就是 itemEditEnd 事件,你应该看的懂的。
oldStr 是编辑前的数据,oldStr:String = e.itemRenderer.data[e.dataField];
希望精通Flex的与我交流,我们互相学习。。。