反馈已提交

网络繁忙

JS实现固定插入和删除最后一行/多行

  • 文档创建者:星踪
  • 历史版本:5
  • 最近更新:Carly 于 2023-06-08
  • 1. 概述

    1.1 问题描述

    默认的工具栏插入行和删除行按钮操作的是鼠标选中行,单元格的插入行和删除行按钮操作的是当前行,使用插入删除行的 JS 接口可以实现在固定行进行插入和删除。

    那如果是希望固定在最后一行进行插入和删除,该如何实现呢?

    2023-06-08_16-03-07.gif

    1.2 实现思路

    利用插入删除行的 JS 接口,结合 Jquery 获取最后一行的单元格id来实现需求。接口说明可以参考:填报预览专有

    注1:该方案适用于明细表,其他格式的填报模板需要根据实际情况修改 JS 。

    注2:不支持移动端。

    2. 示例

    2.1 准备数据

    新建ds1数据集,从FRDemo取数,sql语句为:SELECT * FROM S产品 limit 5

    2.2 设计模板

    如图设计模板:

    2.3 最后一行插入

    给按钮控件「最后一行插入」添加一个点击事件。

    JavaScript 代码如下:

    var id = $("td[id^=A]:last").attr("id");
    //获取A列最后一行的单元格编号
    //id^=A代表A列,last代表最后一行
    _g().appendReportRC(3, id);
    //插入3行

    2.4 删除最后一行

    给按钮控件「删除最后一行」添加一个点击事件。

    JavaScript 代码如下:

    var id=$("td[id^=A]:visible:last").attr("id");
    //获取A列最后一行的单元格编号
    //id^=A代表A列,visible代表可见单元格,last代表最后一行
    _g().deleteReportRC(id);
    //删除行

    2.5 删除最后三行

    给按钮控件「删除最后三行」添加一个点击事件。

    JavaScript 代码如下:

    var td=$("td[id^=A]:visible").slice(-3);
    //获取A列最后三行的单元格元素
    //id^=A代表A列,visible代表可见单元格,slice(-3)代表最后3行
    var id=[];
    for(i=0;i<td.length;i++){
    id.push(td.eq(i).attr('id'))
    //遍历将单元格编号插入数组
    }
    _g().deleteRows(id);
    //删除行

    2.6 删除第三行

    给按钮控件「删除第三行」添加一个点击事件。

    JavaScript 代码如下:

    $("table tr").eq(3).remove(); //删除第3行数据,eq(3)表示扩展后的第四行,从0开始

    2.7 效果预览

    保存模板,填报预览后效果如1.1节所示

    3. 模板下载

    点击下载模板:固定插入和删除最后行.cpt


    附件列表


    主题: 填报应用
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持