怎么在页面加载的时候,隐藏部分单元格或者行列。在点击按钮后,单元格或者行列重新显示?

image.png

加载的时候,不显示分数行,点击统计时,显示出来!~

image.png

最终解决方案就是:设计面板隐藏得分栏 ,在按钮点击事件写上这个代码:

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var a=ro+1;  //按钮下一行

$('tr[tridx="'+a+'"]').show(); //显示按钮下一行

FineReport 18020659076 发布于 2021-8-27 11:42 (编辑于 2021-8-27 15:13)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
snrtuemcLv8专家互助
发布于2021-8-27 14:27(编辑于 2021-8-27 14:46)

直接写ja带代码

$('tr[tridx="0"]').show();//显示第1行

$('tr[tridx="0"]').hide();//隐藏第1行

$('td[col="4"]').show();//显示列

$('td[col="4"]').hide();//隐藏列

效果

加载结束

image.png

点击按钮

image.png

image.png

image.png

================

默认隐藏行

image.png

然后按钮代码,动态获取行,显示按钮下一行

var location = this.options.location;  //获取当前控件的位置

var cr = FR.cellStr2ColumnRow(location);

var col = cr.col;  //列号

var ro = cr.row;  //行号

var a=ro+1;

$('tr[tridx="'+a+'"]').show();

image.png

  • 18020659076 18020659076(提问者) $(\'tr[tridx=\"9\"]\').hide();//隐藏第9行, 加载事件中写了这个 ,排版就错乱了。
    2021-08-27 14:38 
  • snrtuemc snrtuemc 回复 18020659076(提问者) 你这个是有扩展,就不能写死了,行需要动态获取,看修改答案
    2021-08-27 14:45 
  • 18020659076 18020659076(提问者) 还是不行 。。你这个 只有点击事件里面 显示 。所以我写了个隐藏,没隐藏成功 var location = this.options.location;  //获取当前控件的位置 var cr = FR.cellStr2ColumnRow(location); var col = cr.col;  //列号 var ro = cr.row;  //行号 var a=ro+1; $(\'tr[tridx=\"\'+a+\'\"]\').hide();
    2021-08-27 14:53 
  • snrtuemc snrtuemc 回复 18020659076(提问者) 你要看,隐藏的哪行,是不是就在在按钮下一行,我是刚好在下一行,所以a=ro+1,如果隔两行,就要a=ro+2了,一次类推,我测试都是可以的
    2021-08-27 14:55 
  • 18020659076 18020659076(提问者) 回复 snrtuemc 有隐藏了。厉害!~
    2021-08-27 15:06 
最佳回答
1
祈LLv6中级互助
发布于2021-8-27 11:47(编辑于 2021-8-27 14:18)

image.png

你这样设就行了,按钮里加点击JS

image.png

最佳回答
0
ColdmanLv6高级互助
发布于2021-8-27 14:47(编辑于 2021-8-27 15:16)

JS实现自由式填报表动态显示/隐藏行-帆软社区 (fanruan.com)

image.png

image.png

比如我这里报表界面要隐藏第9行,第三行的扩展数据是6行,那么加载结束事件:

document.getElementById('r-13-0').style.display = 'none';

按钮点击事件:

document.getElementById('r-13-0').style.display = '';

————————————————————————————————————————

为什么是13?因为是从0开始的,也就是第九行应该是r-8-0。扩展的6行本身是在报表界面算了一行的,所以是8+5=13

  • 18020659076 18020659076(提问者) 有用到扩展行,这个代码下去排版就乱了
    2021-08-27 15:08 
  • Coldman Coldman 回复 18020659076(提问者) 你这扩展行数不是固定的吗?比如原来需要隐藏的在报表界面是10行,中间扩展的行数有20行 那就把括号内的ID改成29
    2021-08-27 15:12 
  • 6关注人数
  • 883浏览人数
  • 最后回答于:2021-8-27 15:16
    请选择关闭问题的原因
    确定 取消
    返回顶部