1. 概述
1.1 问题描述场景描述:填报预览时,我们想获取到某个控件的值相对来说较容易。但如果控件是扩展的,就只能获取到第一个值,无法根据扩展一行行获取对应的值。 例:本意是想获取到袁成洁,结果还是获取到第一个单元格值孙林。而实际我们应该获取到的单元格是袁成洁。现在我们以此为例,作为操作方法。
1.2 实现思路我们可以通过 JS 事件来获取对应行控件的值。 2. 示例
2.1 操作步骤新建一个模板,添加数据集 ds1:SELECT * FROM 销量 把销售员字段拖入到 A1 单元格,A1 单元格设置下拉框控件,B1单元格设置按钮控件,下拉框控件是向下扩展的,模板设计如下图所示:
给B1 单元格按钮控件添加一个 JS 点击事件:
JS 代码如下: - var location = this.options.location; //获取当前控件的位置
- var cr = FR.cellStr2ColumnRow(location);
- var col = cr.col; //列号
- var ro = cr.row; //行号
- var zybck = contentPane.getWidgetByCell(FR.columnRow2CellStr({col: col-1, row: ro}));
- //根据单元格获取控件
- alert(zybck.getValue()); //获取对应的值
复制代码
2.2 预览效果保存后,点击填报预览,点击按钮,效果如下图所示: 注:经过测试,手机端和 H5 不支持该效果。 3. 模板下载模板效果在线查看请点击:JS 获取填报扩展单元格控件的值.cpt 已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\06-JS获取填报扩展单元格控件的值.cpt 点击下载模板 :06-JS获取填报扩展单元格控件的值.cpt
编辑于 2020-11-24 13:45
编辑于 2020-11-24 13:46
|