报表块隐藏滚动条,可以实现,但是打开报表的一瞬间会有显示。

setTimeout(function() {
     
    $("div[widgetname = REPORT0]").find("#frozen-center").css('overflow-x', 'hidden');
     
    $("div[widgetname = REPORT0]").find("#frozen-center").css('overflow-y', 'hidden');
    $("div[widgetname=REPORT0]").find("#frozen-north").css('overflow-x', 'hidden');
    $("div[widgetname=REPORT0]").find("#frozen-north").css('overflow-y', 'hidden');
    $("div[widgetname=REPORT0]").find(".reportContent").css('overflow-y', 'hidden');
    $("div[widgetname=REPORT0]").find(".reportContent").css('overflow-x', 'hidden');
    $("div[widgetname=REPORT0]").find(".reportContent").css('overflow-x', 'hidden');
    
}, 1000);

FineReport 13055905956 发布于 2020-2-28 09:38
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
historyLv4初级互助
发布于2020-2-28 09:44

你都设置了1000ms后执行,当然1秒过后会从显示变成隐藏

最佳回答
0
shirokoLv6资深互助
发布于2020-2-28 09:45(编辑于 2020-2-28 09:57)

你还想要怎样。。js本来就是一定时间后执行,执行的效果是隐藏滚动条,根据执行时间肯定会有空隙,

当然你可以把时间调小,缩短间隔,但是遇到可能加载慢就完全无效了

最佳回答
0
L大大Lv7高级互助
发布于2020-2-28 09:51

报表加载一秒后执行,把1000改小


setTimeout(function(){ var wid=($("div[widgetname='REPORT0']").width()-17)+'px'; //获取报表块宽度 $("div[widgetname='REPORT0']").css('width',wid); //重置报表块宽度 var height=($("div[widgetname='REPORT0']").height()-16)+'px'; //获取报表块高度 $("div[widgetname='REPORT0']").css('height',height); //重置报表块高度},200);


最佳回答
0
mqhLv6见习互助
发布于2020-2-28 09:57

可以把操作放到页面加载后事件afterload中执行,试一试。

示例:

<script type="text/javascript">
	window.onload = function() {
		var contentPane = document.getElementById('reportFrame').contentWindow.contentPane;
		contentPane.on("afterload",
		function() {
			$("div[widgetname = REPORT0]").find("#frozen-center").css('overflow-x', 'hidden');

			$("div[widgetname = REPORT0]").find("#frozen-center").css('overflow-y', 'hidden');
			$("div[widgetname=REPORT0]").find("#frozen-north").css('overflow-x', 'hidden');
			$("div[widgetname=REPORT0]").find("#frozen-north").css('overflow-y', 'hidden');
			$("div[widgetname=REPORT0]").find(".reportContent").css('overflow-y', 'hidden');
			$("div[widgetname=REPORT0]").find(".reportContent").css('overflow-x', 'hidden');
			$("div[widgetname=REPORT0]").find(".reportContent").css('overflow-x', 'hidden');
		});
	}
</script>

参考文档:

https://help.finereport.com/doc-view-1178.html

https://help.finereport.com/doc-view-908.html

最佳回答
0
YouCanYouUpLv2见习互助
发布于2020-2-28 10:52

建议直接写成css 不需要用js控制

  • 6关注人数
  • 745浏览人数
  • 最后回答于:2020-2-28 10:52
    请选择关闭问题的原因
    确定 取消
    返回顶部