动态表单父界面接收子界面返回数据并向分录赋值,分录不更新问题原创
金蝶云社区-湖南冠卓科技_画才戏子
湖南冠卓科技_画才戏子
6人赞赏了该文章 800次浏览 未经作者许可,禁止转载编辑于2023年04月14日 10:47:20

我们常常会出现两个页面数据交互的情况,而我今天说的这种场景是,父界面在closeCallBack事件接收到子界面传回来的数据,然后对父界面的分录进行赋值,赋值后分录不显示赋值的数据或未更新分录,我发现造成这种问题的原因竟然是因为分录没有从实体中获取,代码如下:

//原代码
Map<String, Object> returnData = (Map<String, Object>) e.getReturnData();
DynamicObjectCollection entryEntityColl = this.getModel().getEntryEntity("entryentity");
DynamicObject entry= entryEntityColl .addNew();
entry.set("hngz_fieldalias", returnData.get("fieldAlias"));
entry.set("hngz_fieldtype", returnData.get("fieldType"));
entry.set("hngz_ismustinput", returnData.get("isMustInput"));
this.getView().updateView("entryentity");
			
//修改后
Map<String, Object> returnData = (Map<String, Object>) e.getReturnData();
DynamicObjectCollection entryEntityColl = this.getModel().getDataEntity(true).getDynamicObjectCollection("entryentity");
DynamicObject entry= entryEntityColl .addNew();
entry.set("hngz_fieldalias", returnData.get("fieldAlias"));
entry.set("hngz_fieldtype", returnData.get("fieldType"));
entry.set("hngz_ismustinput", returnData.get("isMustInput"));
this.getView().updateView("entryentity");

修改后的代码发现父界面的分录值就出来了,使用原代码会出现父界面分录没有值的情况。

赞 6