在做表单插件开发的时候,我们经常会有这样的业务场景,在当前表单界面,需要打开另外一个表单,然后打开的表单界面做一些逻辑处理,完成之后,需要把值传回给父界面,那么在BOS里面怎么实现这样的需求呢?
首先我们可能是通过一个按钮或者一个操作,需要打开一个form,那么写一个showform的方法:
private void ShowForm() { DynamicFormShowParameter param = new DynamicFormShowParameter(); param.FormId = "打开的formId";//bos设计器中的表单ID param.OpenStyle.ShowType = ShowType.Modal; param.CustomParams.Add("XX", XX); //父界面,传递给子界面的参数 this.View.ShowForm(param, new Action( p => { if (p.ReturnData != null) { ReturnData(p.ReturnData as DynamicObject); } } )); }
new Action这个就是子界面返回给父界面的回调函数,ReturnData是子界面返回给父界面的值。
注意:回调函数的触发好像是子界面关闭窗口,才会触发