afterDoOperation事件

1 事件介绍
插件可以在此事件,根据操作结果控制界面。
说明:
这个事件,是在表单界面层执行的,没有事务保护。
不允许在此事件同步修改数据库数据,以免同步失败导致数据不一致。
2 事件触发时机
用户点击按钮、菜单,执行完绑定的操作后,不论成功与否,均会触发此事件。
3 代码模板
package kd.bos.plugin.sample.dynamicform.pcform.form.template;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.form.events.AfterDoOperationEventArgs;
import kd.bos.form.operate.FormOperate;
import kd.bos.form.plugin.AbstractFormPlugin;
public class AfterDoOperation extends AbstractFormPlugin {
final static String KEY_OPKEY = "myoperation";
@Override
public void afterDoOperation(AfterDoOperationEventArgs args) {
super.afterDoOperation(args);
FormOperate formOperate = (FormOperate)args.getSource();
if (StringUtils.equals(KEY_OPKEY, formOperate.getOperateKey())
&& args.getOperationResult() != null
&& args.getOperationResult().isSuccess()){
// TODO 在此添加业务逻辑
}
}
}说明:
常量KEY_OPKEY 是操作标识,要根据实际场景进行替换。
4 参数说明
AfterDoOperationEventArgs args:
Object getSource():FormOperate类型,操作执行类,包含了操作的配置信息;
String getOperateKey():当前执行的操作标识;
OperationResult getOperationResult():操作结果对象,包含操作成功标志,提示信息等。
5 应用示例
5.1 案例说明
1. 界面上有个"连续新增"选项;
2. 如果勾选了连续新增,则保存成功后,把界面切换为新增状态;
3. 如果未勾选连续新增,则保存成功后,自动关闭界面。
5.2 实现方案
1. 捕获afterDoOperation事件,获取操作结果,如果操作成功:
未勾选连续新增选项,则关闭界面;
勾选了连续新增选项,则执行新增操作。
5.3 实例代码
package kd.bos.plugin.sample.dynamicform.pcform.form.bizcase;
import kd.bos.dataentity.utils.StringUtils;
import kd.bos.entity.operate.result.OperationResult;
import kd.bos.form.events.AfterDoOperationEventArgs;
import kd.bos.form.plugin.AbstractFormPlugin;
public class AfterDoOperationSample extends AbstractFormPlugin {
private final static String OPERATEKEY_NEW = "new";
afterDoOperation事件
1 事件介绍插件可以在此事件,根据操作结果控制界面。 说明:这个事件,是在表单界面层执行的,没有事务保护。不允许在此事件同步修改数据...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



