反馈已提交

网络繁忙

JS实现报表加载结束后自动滚动到最下方最右侧

  • 文档创建者:yets11
  • 编辑次数:14次
  • 最近更新:RosieY 于 2020-12-03
  • 1. 概述

    1.1 预期效果

    报表选择「分析预览」或「填报预览」时,由于报表没有分页,通常页面较大。

    有时用户需要报表在页面加载后,自动滚动到浏览器最下方或最右侧,方便查看或填报最新的数据。如下图所示:

    1578895045775238.png

    1.2 实现思路

    通过添加「加载结束」事件报表初始化时调整滚动条的位置实现此效果。

    2. 示例

    2.1 准备模板

    1)准备内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\点击按钮直接提交入库.cpt

    点击可下载模板:点击按钮直接提交入库.cpt

    打开模板,模板样式如下图所示:

    image.png

    2)修改数据集 ds1 为:SELECT * FROM 产品 

    2.2 添加加载结束事件

    点击模板>模板 Web 属性>填报页面设置,选择为该模板单独设置,添加加载结束事件,如下图所示:

    1578895220903371.png

    JavaScript 代码如下:

    setTimeout(function(){
      var y=contentPane.$contentPane[0].scrollHeight;//获取页面最大高度
      var x=contentPane.$contentPane[0].scrollWidth;//获取页面最大宽度
      contentPane.$contentPane.scrollLeft(x);//设置滚动条最左方位置
      contentPane.$contentPane.scrollTop(y);//设置滚动条最上方位置
    },100)

    注1:在页面加载结束时,可能存在尚未设置完成的情况,使用 setTimeout() 延时函数,兼容性更好。

    注2:不支持多 sheet 报表。

    2.3 效果预览

    保存模板,点击填报预览,PC 端预览效果如下图所示:

    1578895045775238.png

    注1:如果桌面分辨率较高,有时会看不到效果,可以缩小浏览器窗口,刷新页面再查看效果。

    注2:不支持移动端。

    3. 已完成模板

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\39-JS实现分析或填报报表加载后自动滚动到最下方或最右侧.cpt

    点击下载模板:39-JS实现分析或填报报表加载后自动滚动到最下方或最右侧.cpt

    附件列表


    主题: 填报应用
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭