JS获取当前编辑行单元格行号

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

    1.1 问题描述

    在实际的业务中,可能会希望点击某行则在某个单元格中显示对应该行的行号点解。

    如下图所示,点击第三行上面显示 3,要如何实现呢?

    image.png


    1.2 实现思路

    FineReport 报表的 contentPane 中有一个 cellselect 监听,当某单元格被选中时就会触发所定义的监听事件。以下我们详细介绍。


    2. 示例

    2.1 打开模板

    示例模板设计如下:

    222


    2.2 增加加载结束事件

    点击模板>模板 Web 属性>填报页面设置,然后增加加载结束事件,如下图:

    image.png

    JS 代码如下:

    contentPane.on("cellselect", function(td) { //获取单元格被选中监听事件 var num =contentPane.curLGP.getTDRow(td)-2; //获取当前行号,由于数据是从第三行开始,因此要减2 contentPane.curLGP.setCellValue("D1",null,num); //给D1单元格赋值 });

    注:如果获取当前编辑列的列序号,则可用 contentPane.curLGP.getTDCol(td),但是Col(td)获取的是形如A列,B 列等这种字符串列号,故不能直接在后面减去前面空余列。

    点击填报预览,点击某行即可看到对应的行号显示在 D1 单元格中,效果图如上。


    2.3 预览效果

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

    222

    注:移动端不支持此 JS


    3. 模板下载

    模板效果在线查看请点击:JS 获取当前编辑行单元格行号.cpt

    已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\44-JS获取当前编辑行单元格行号.cpt

    点击下载模板:44-JS获取当前编辑行单元格行号.cpt


    附件列表


    主题: 二次开发
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!