JS实现分析/填报报表加载后自动滚动到最下方/最右侧
1. 描述
分析/填报页面做出的报表由于没有分页,通常页面较大,而有些场景要求在页面加载后自动滚动到浏览器最下方或最右侧,方便查看或填报最新的数据。实现效果如下图,页面加载后滚动条自动滚动到最下方和最右侧了。
2. 思路
contentPane.$contentPane.scrollTop()//指定页面滚动条的最上方位置
contentPane.$contentPane.scrollLeft()//指定页面滚动条的最左侧位置
上述方法针对未添加冻结的报表,使用了填报冻结的报表无法奏效,这时需要获取到非冻结区的宽度和高度并赋值。
3. 操作步骤
打开模板:%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\插入删除行重新编号.cpt
点击模板>模板web属性>填报页面设置,选择为该模板单独设置,然后添加加载结束事件,如下图:
代码如下:
注:之所以使用setTimeout()延时函数,是因为在页面加载结束时,有些情况下设置不成功,这样用兼容性更好。
在其他需求中,可能需要控件滚动条在不同的位置,比如多sheet应用中,需要在切换sheet后页面滚动条回到最上方,可以直接在切换sheet事件中使用contentPane.$contentPane.scrollTop(0),恢复默认滚动条位置。切换sheet的JS写法可以参考JS实现切换sheet时隐藏或显示参数面板
仍以%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Form\LineForm\插入删除行重新编号.cpt为例。
设置第二行为冻结行。模板>重复与冻结设置;设置如下图所示:
重复与冻结设置。
修改加载结束事件。如下图所示:
4. 预览效果
1)示例一:未设置冻结的报表
注:如果桌面分辨率较高,看不到效果的话,可以缩小浏览器窗口,刷新页面再 观察效果
2)示例二:设置了冻结的报表
4.2 移动端预览效果
5. 已完成模板
1)示例一
2)示例二
附件列表
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)