如何实现基础资料字段点击查看详情打开的是其他页面原创
7人赞赏了该文章
1,457次浏览
未经作者许可,禁止转载编辑于2022年08月22日 16:32:07
关键字:基础资料、查看明细
一、需求
当基础资料字段选择值以后,控件右边有查看图标,点击查看图标会展示该基础资料的查看页面,现在想取消打开该基础资料查看界面,而是打开该基础资料关联的其他页面。
二、思路与方案
需要确定点击图标会触发什么事件,在该事件取消原来的界面,自己构造单据界面参数BillShowParameter并打开。
确定触发什么事件的思路如下:
1. 点击查看详情按钮会触发基础资料的viewDetail方法kd.bos.form.field.BasedataEdit.viewDetail(Map<String, Object>)。
2.从kd.bos.form.field.BasedataEdit.viewDetail的代码可以看到会遍历beforeF7ViewDetailListeners执行accept方法,因此可以给基础资料字段注册beforeF7ViewDetailListeners,并重写accept方法。
三、实现过程
1.给消毒方案基础资料字段注册监听BeforeF7ViewDetailListener;
2.重写accept(BeforeF7ViewDetailEvent)方法。
@Override public void accept(BeforeF7ViewDetailEvent arg0) { // TODO Auto-generated method stub BasedataEdit basedataEdit = (BasedataEdit) arg0.getSource(); arg0.setCancel(true); QFilter filter = new QFilter("kded_scheme.id","=",arg0.getPkId()); DynamicObject detail = BusinessDataServiceHelper.loadSingle("kded_schemechangedetail", "id,*",new QFilter[] {filter}); BillShowParameter showParameter = new BillShowParameter(); showParameter.setFormId("kded_schemechangedetail"); showParameter.getOpenStyle().setShowType(ShowType.Modal); showParameter.setStatus(OperationStatus.VIEW); //设置弹出页面的大小,高600宽800 StyleCss inlineStyleCss = new StyleCss(); inlineStyleCss.setHeight("600"); inlineStyleCss.setWidth("800"); showParameter.setPkId(detail.getPkValue()); showParameter.setCaption("消毒方案变更详情单"); this.getView().showForm(showParameter); }
四、效果图
点击消毒方案基础资料字段的查看详情按钮,打开的是消毒方案变更单:
五、开发环境版本
V4.0.0.14
六、参考资料
RecordBillFormPlugin.rar(0.90KB)
赞 7
7人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *
10金币20金币30金币40金币50金币60金币
可用金币: 0