标签:
动态表单、子页面回调、页面弹出
需求背景:
1. 问:在开发过程当中,时常出现需要对子页面获取数据功能开发,返回给父页面的回显的功能操作 ,通过单据获取动态表单的编写给大家清晰展示数据获取
实现方案:
1.新建一个单据
配置操作插件kd.bos.form.pulgin.DynamicParentPlugin
2.通过选择项目号获取动态表单的页面的用户名和密码,回显到父页面的单据上
2. 新建一个动态表单
配置绑定插件kd.bos.form.pulgin.DynamicFormPlugin
3. 在单据上选择项目号
4. 选择完成后会弹出动态表单子页面输入操作
5. 通过输入用户名和密码回显到单据字段上
实现效果:
页面显示效果:
2.代码步骤
3.通过确定按钮调用
4. 代码步骤
附件代码
1.单据插件代码:
public class DynamicParentPlugin extends AbstractFormPlugin {
@Override
public void propertyChanged(PropertyChangedArgs e) {
super.propertyChanged(e);
String name = e.getProperty().getName();
if ("kded_project".equals(name)) {
String project=(String)this.getModel().getValue("kded_project");
if(!project.isEmpty()) {
FormShowParameter ShowParameter = new FormShowParameter();
ShowParameter.setFormId("kded_son");
ShowParameter.setCaption("请输入项目负责人的用户名和密码");
ShowParameter.setCloseCallBack(new CloseCallBack(this, "kded_project"));
ShowParameter.getOpenStyle().setShowType(ShowType.Modal);
this.getView().showForm(ShowParameter);
}
}
}
public void closedCallBack(ClosedCallBackEvent closedCallBackEvent) {
super.closedCallBack(closedCallBackEvent);
if("kded_project".equals(closedCallBackEvent.getActionId())) {
//子页面数据回调
HashMap<String, String> returnData = (HashMap<String, String>) closedCallBackEvent.getReturnData();
this.getModel().setValue("kded_username",returnData.get("kded_username"));
this.getModel().setValue("kded_password",returnData.get("kded_password"));
}
}
}
2.动态表单单据代码
public void registerListener(EventObject e) {
super.registerListener(e);
this.addClickListeners("btnok");
}
public void click(EventObject evt) {
super.click(evt);
Control source = (Control) evt.getSource();
String sourceKey=source.getKey();
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("kded_username", String.valueOf(this.getModel().getValue("kded_username")));
hashMap.put("kded_password", String.valueOf(this.getModel().getValue("kded_password")));
//监听确定按钮
if ("btnok".equals(sourceKey)) {
this.getView().returnDataToParent(hashMap);
this.getView().close();
}
}
《动态表单-弹出页面及页面回调 》开发案例.docx(907.35KB)
推荐阅读