EasyUI中使用datagrid组件的insertRow方法进行前端插入JSON数据问题

在项目研发过程中,现场运维提出一个需求,能通过编写json文件的形式动态插入datagrid表格中几条模拟数据;

前提是页面已经从后台通过接口形式渲染好了表格,渲染成功后再通过ajax调用json数据形式往表格插入数据;

$("#id-searchInfo").datagrid({
     url: "/tech/trial/getCurrentOrTodayTrialInfo",
     checkOnSelect: false,
     singleSelect: true,
     selectOnCheck: false,
     striped: true,
     rownumbers: true,
 })

以上方法通过接口读取数据库真实数据;
在onLoadSuccess属性后加回调函数

 $.ajax({
     url: "trialCourt.json",
     type: "get",
     async: false,
     success: function (data) {
         $('#id-searchInfo').datagrid('insertRow', {
             index: data.insertLineNumber * 1,	// 索引从0开始
             row: data.rows[i]
         })
      }
 })

到这一部都没有任何问题,本以为小小需求已然解决,可遇到接下来的问题
在点击表格的点击事件时,通过formatter拼写的点击事件获取回调参数index出现问题

{
    field: 'detail', title: '详情', width: '8%', align: 'center', formatter: function (value, row, index) {
   if (row.videos.length > 0) {
        return '<a href="#" style="text-decoration: none; color:#fff;" onclick="loadClick('+index+')">点击查看</a>'
   } else {
        return '<a href="#" style="text-decoration: none; color:#fff;">不可查看</a>'
    }
}

问题描述:通过接口获取数据时,datagrid渲染完成,在通过insertRow方法插入的数据默认index下标又从0开始。由此知道通过index来判断点击的是那条数据已经不准确,于是

$('#id-searchInfo').datagrid("getSelected");

则通过获取点击选中本行row数据来实现点击一行数据的操作。

方法比较笨,如有妙招请不吝赐教。欢迎留言探讨。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:黑客帝国 设计师:我叫白小胖 返回首页
评论

打赏作者

乐夫天命兮

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值