1. 概述
1.1 问题描述
希望点击某行的单元格时,获取对应该行的行号,如下图所示:
1.2 实现思路
通过 cellselect 监听事件,当某单元格被选中时传对应单元格的行序号给需要显示行号的单元格。
注:不支持移动端。
2. 示例
2.1 准备模板
1)新建模板,新增数据集 ds1,sql 语句为:SELECT * FROM Sales
2)设计模板样式,A3-F3 单元格添加文本控件,如下图所示:
2.2 添加事件
点击模板>模板 Web 属性>填报页面设置,选择「为该模板单独设置」,增加一个「加载结束」事件,让被点击单元格的行号显示在 F1单元格中,如下图所示:
JS 代码如下:
_g().on("cellselect", function(td) {
//设置单元格被选中时的监听事件
var num = _g().curLGP.getTDRow(td) - 2;
//获取当前行号,由于数据是从第三行开始,因此要减2
_g().setCellValue("F1", null, num);
//给F1单元格赋值
})
注:如果获取当前编辑列的列序号,则可用 _g().curLGP.getTDCol(td)
2.3 预览效果
保存模板,填报预览后,效果下图所示:
3. 模板下载
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\JS获取当前编辑行单元格行号.cpt
点击下载模板:JS获取当前编辑行单元格行号.cpt