历史版本11 :JS实现插入自定义行数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 预期效果

报表开发中,很多情况下用户在增加行数的时候,想要自定义输入行数,然后增加指定的行数,而不是点击一次增加一行,

效果如下图所示:

222

1.2 实现思路

在单元格按钮控件中,添加 JS 点击事件,通过 appendReportRow() 函数来实现插入行数的功能。接口说明可以参考:填报预览专有

2. 示例编辑

2.1 设计报表样式

1)新建模板,设计报表样式,A3-F3 单元格添加「文本控件」,如下图所示:

222

2)为配合即将添加的插入行按钮使用,需设置 A3 单元格为纵向扩展,选中 A3 单元格,设置扩展方向为「纵向扩展」,如下图所示:

image.png

2.2 添加按钮控件

在 G3 单元格中添加「按钮控件」,控件类型选择「插入行」,指定单元格 A3,行数修改为 0,如下图所示:

image.png

2.3 添加点击事件

给 G3 单元格中「按钮控件」添加点击事件,事件内容为根据输入的行数,插入行,如下图所示:

image.png

JavaScript 代码如下:

num = prompt("请输入插入行数","");
_g().appendReportRow(this.options.location, this.options.reportIndex,num)

注:appendReportRow() 函数实现的效果为在选中行后面插入 。

2.4 预览效果

2.4.1 PC 端

保存模板,点击「填报预览」,效果如下所示:

222


2.4.2 移动端

App 及 HTML5 效果如下图所示:

2020-12-03_0-19-06.gif

3. 模板下载编辑

已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\42-JS实现插入自定义行数.cpt

点击下载模板:42-JS实现插入自定义行数.cpt