JS实现点击查询后停留在当前查询的tab页

编辑
文档创建者:yiyemeiying (78157 )     浏览次数:971次     编辑次数:6次     最近更新:jiangsr 于 2018-01-29     

目录:

1. 需求分析编辑

在使用表单的TAB块功能时,我们经常会遇到类似这样的问题:当在一个TAB块中有多个TAB页存在,如果用户所处其他TAB页(非第一个TAB页),点击查询后,会自动跳转到第一个TAB页(如图一)。如何能实现:点击查询后,不自动跳转到第一个TAB页,还是在用户当前TAB页呢(如图二)?

图一:

222

图二:

222

2. 解决方案编辑

2.1 思路

通过在TAB块中设置JavaSprite脚本来实现此功能。先通过切换事件获取到用户当前TAB页的标题索引,然后在点击查询后,直接初始化定位到获取到的tab标题索引页。

(1)TAB切换事件:

setTimeout(function(){ //TAB切换后,获取到当前TAB块的标题索引 window.IndexNum=_g().getWidgetByName("tabpane0").getShowIndex(); },50);

(2)TAB初始化事件:

this.options.form.getWidgetByName("tabpane0").showCardByIndex(window.IndexNum); 

2.2 示例

(1)打开%FR_HOME%\WebReport\WEB-INF\reportlets\demo\Oldchart\advanced\tab标签.frm文件,新增一个参数界面,添加如下控件:

222

(2)选中TAB块控件,在右侧点击事件,新增一个Tab切换事件:

222

JS脚本:

setTimeout(function(){ //TAB切换后,获取到当前TAB块的标题索引 window.IndexNum=_g().getWidgetByName("tabpane0").getShowIndex(); },50);

(3)选中TAB块控件,在右侧点击事件,新增一个初始化后事件:

222

JS脚本:

this.options.form.getWidgetByName("tabpane0").showCardByIndex(window.IndexNum);

2.3 保存与预览

保存,点击表单预览,效果如上图二所示。

附件列表


主题: 二次开发
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,请咨询帆软技术支持
关于技术问题,您还可以通过帆软论坛获取帮助,论坛上有非常多的大神,有些水平比帆软工程师还要高哦。
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: