反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

JS自定义插入和删除行按钮

1. 概述

1.1 预期效果

使用 插入和删除按钮,每一行都有一个按钮,当数据量过大时,按钮过多会导致模板加载变慢。如何只用一个插入行和删除行按钮,在鼠标停留的行位置插入一行数据或删除对应行数据呢?效果如下图所示:

2020-11-24_15-38-32.gif

1.2 实现思路

在模板中增加按钮,自定义为插入和删除按钮 ,通过给自定义按钮添加「点击」事件和给模板添加「加载结束」事件实现。

2. 示例

2.1 准备模板

打开内置模板:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt

点击下载模板:LineForm.cpt

打开模板,模板报表样式如下图所示:

image.png

2.2 添加按钮控件

在 J1 单元格和 K1 单元格添加「按钮控件」,控件类型选择「普通」,如下图所示:

222

J1 单元格按钮名字改为「插入行」, K1 单元格按钮名字改为「删除行」。如下图所示:

2020-11-24_16-34-56.png

2.3 按钮添加事件

1)为 J1 单元格中插入行按钮添加一个点击事件,实现点击按钮时增加一行的功能,如下图所示:

2020-11-24_16-29-36.png

JavaScript 代码如下:

contentPane.appendReportRC(1);//点击按钮新增一行

2)同样的方法为 K1 单元格中删除行按钮添加一个点击事件,实现点击按钮时删除一行的功能,JavaScript 代码如下:

contentPane.deleteReportRC(null,window.num);//点击按钮删除一行

2.4 添加加载结束事件

添加「加载结束」事件定位当前鼠标所在行,并返回行号给删除行按钮,使得点击删除行按钮时能正确删除鼠标所在的行。

点击「模板>模板 Web 属性>填报页面设置」,勾选「为该模板单独设置」,添加一个「加载结束」事件,如下图所示:

2020-11-24_16-39-56.png

JavaScript 代码如下:

var curLGP = contentPane.curLGP; //获取当前填报表
contentPane.on("cellselect", function(rowvalue)
 { //增加单元格选中监听事件
 var rownum = $(rowvalue).attr("id"); //获取选中的单元格的当前行号
window.num = rownum; //将当前行号赋值给window的num变量
 });

2.5 效果预览

保存模板,点击「填报预览」,效果如 1.1 节所示。

注:不支持移动端。

3. 模板下载

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\FormFAQ\AddDelete.cpt

点击下载模板:AddDelete.cpt

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉