报表:JS获取行号/列号,获取指定行/列数据

在报表的使用过程中,有时候需要获取将某行或某列上的单个、一些、所有数据,并将数据传给接口进行处理,并将处理后的结果赋值到页面中。如下图:

报表:JS获取行号/列号,获取指定行/列数据_第1张图片

在报表制作过程中,因为数据往往都是通过数据集中的字段扩展出来的,在javascript获取数据时,如果使用公式去取某个单元格中的数据,都是拿到一整个字段数组,不能根据触发获取值事件的所在行/列来获取指定值,更不能实现在指定位置赋值处理后的数据;此时需要用javascripts,先识别到触发当前事件的位置,如控件,获取到当前控件的行/列,在根据行列信息获取需要的数据,再在javascript中进行传参处理和指定行列的赋值。

1、报表界面设计

报表:JS获取行号/列号,获取指定行/列数据_第2张图片

2、javascript事件编辑:

报表:JS获取行号/列号,获取指定行/列数据_第3张图片

代码如下:

//获取当前控件所在行
var $td=$(this.$btn).parents(("td"))[0];
var rownum =contentPane.curLGP.getTDRow($td)-1;

//获取数据并赋值
var name=contentPane.getCellValue(1,rownum);
contentPane.setCellValue(3,rownum,name);

3、效果图:

报表:JS获取行号/列号,获取指定行/列数据_第4张图片

如上,通过按钮触发javascript事件,获取按钮所在行的数据,将数据传给接口进行处理后(此处示例未做传参处理操作),将返回的数据赋值到当前行的指定位置中,即可解决使用公式时不能确定所在行/列、只能获取整个数组而不能获取到单个数据的问题。

根据如上方案,通过javascript传参给接口,使得文件上传后自动生成上传者信息、增删改数据库数据等操作更加方便,也可以根据主键单个更新数据库数据而不用每次都将整个页面数据更新一遍,使得系统效率更加快速,系统承载压力更小。

你可能感兴趣的:(Javascripts)