-
yangqh 数据老手Lv5
发表于2023-5-9 14:36
楼主
当我们表格上浮动出来很多数据,无法一页显示完成时,通常会设置分页,而ABI报表上分页条有两种形式:旧式分页条和新式分页条,如下图:
而由于两种分页条情况下报表计算分页刷新时的机制不同,使用新式分页条时分页后点击下一页然后钻取传参,会发现仍然获取的第一页的数据,那么如何实现新式分页下的钻取传参传当前页的数据呢,接下来我们举例说明:
首先,我们准备一个设置了新式分页的表格,希望点击按钮后跳转到子表,并传当前页的公司代号数据,表样如下图:
接下来,我们在按钮的钻取设置中,选择万能式,写入以下脚本:
复制代码
最后效果就是不管表格翻页到哪一页,点击按钮传的都是当前页的公司代号。
示例中分析表和主题表备份点击下载:
脚本demo表样及主题表数据 (1).zip
(14.73 KB, 下载次数: )
而由于两种分页条情况下报表计算分页刷新时的机制不同,使用新式分页条时分页后点击下一页然后钻取传参,会发现仍然获取的第一页的数据,那么如何实现新式分页下的钻取传参传当前页的数据呢,接下来我们举例说明:
首先,我们准备一个设置了新式分页的表格,希望点击按钮后跳转到子表,并传当前页的公司代号数据,表样如下图:
接下来,我们在按钮的钻取设置中,选择万能式,写入以下脚本:
- //待传参的值
- var sjzj1=getparam_sjzj1();
- //f12打印参数值,以验证结果
- console.log("sjzj1:"+sjzj1);
- //取dom的值,GRID1的的A2的值
- function getparam_sjzj1(){
- //表元名,需要配置
- var cellname="GRID1.A2";
- var namearr=cellname.split('.');
- var gridName=namearr[0];
- var rowcolarr=EUI.getRowColFromName(namearr[1]);
- var startRowIndex=rowcolarr[0]+1;
- var colIndex=rowcolarr[1];
- var cols=[];
- $("#"+gridName+" tr").each(function(){
- if($(this).attr("row")<startRowIndex){
- return;
- }
- var text = $(this).children("td:eq("+colIndex+")").text();
- cols.push(text);
- });
- return cols.join(',');
- };
- //跳转到子表并传sjzj1到子表
- _zn("B27002","@cs="+sjzj1);
最后效果就是不管表格翻页到哪一页,点击按钮传的都是当前页的公司代号。
示例中分析表和主题表备份点击下载: