JS实现隐藏行/列

  • 文档创建者:gxy120313
  • 编辑次数:16次
  • 最近更新:Kevin-s 于 2019-12-12
  • 1. 概述

    1.1 问题描述

    在实际的填报中,有时候可能想要实现点击某个按钮,隐藏特定的行数和列数,这时候就需要使用 JS 进行隐藏了


    1.2 实现思路

    给按钮控件添加点击事件来隐藏行列

    注:该隐藏行/列的方法不支持导出。


    2. 示例

    2.1 隐藏行

    1)新建一张模板

    在 A1 单元格中添加一个控件,控件类型选择为按钮类型,按钮名称为关闭第二、三、四行,如下图所示:

    1576119899415584.png

    2)给按钮添加点击事件

    点击事件编辑,添加点击事件

    1576120260523805.png

    JS 代码为:

    $("#r-1-0").toggle(); 
    $("#r-2-0").toggle(); 
    $("#r-3-0").toggle(); 
    if (contentPane.curLGP.$editor) { 
    contentPane.curLGP.$editor.toggle(); 
    }

    注:8.0 中可以不加 if (contentPane.curLGP.$editor) { contentPane.curLGP.$editor.toggle(); }这段 JS 代码,6.5 和 7.0 在后面需要加上这段代码。

    2.2 隐藏列

    1)模板设计

    在 A1 单元格中添加一个控件,控件类型选择为按钮类型,按钮名称为点击隐藏 B、C 两列,如下图所示:

    1576120376653717.png

    2)添加点击事件

    给按钮控件增加点击事件,如下图所示:

    1576120467710396.png

    JS 代码如下:


    $("td[id^='B']").toggle();//隐藏B列  
    $("td[id^='C']").toggle();//隐藏C列

    注:上边的 JS 中隐藏的列数可以自己进行修改的,B、C 列只是例子。


    2.3 预览效果

    保存模板,选择填报预览,PC 端实现效果下图所示:

    1)隐藏行

    222

    2)隐藏列

    222


    注:此 JS 不支持移动端使用


    3. 模板下载

    1)隐藏行

    模板效果在线查看请点击:JS 隐藏行或列示例一.cpt

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\35-JS隐藏行或列示例一.cpt

    点击下载模板:35-JS隐藏行或列示例一.cpt

    2)隐藏列

    模板效果在线查看请点击:JS 隐藏行或列示例二.cpt

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\35-JS隐藏行或列示例二.cpt

    点击下载模板:35-JS隐藏行或列示例二.cpt


    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览