jQuery MiniUI

 找回密码
 立即注册
查看: 2087|回复: 1
打印 上一主题 下一主题

在datagrid中像编辑xls实现每个单元格填写完成后自动保存数据 [复制链接]

Rank: 6Rank: 6

跳转到指定楼层
楼主
发表于 2021-10-6 23:31:32 |只看该作者 |倒序浏览

  1. grid.on("cellendedit", function (e) {
  2.         saveGridData()
  3. })
  4. function saveGridData() {
  5.         grid.validate();
  6.         if (grid.isValid() == false) {
  7.             var error = grid.getCellErrors()[0];
  8.             grid.beginEditCell(error.record, error.column);
  9.             return;
  10.         }
  11.         console.log('验证通过')
  12. }
复制代码
我想实现编辑每个单位格后,能自动验证该行是否通过验证,通过验证后,自动保存数据的方法,结果我按这个方法写了之后,提示这个错误:
  1. VM10773 miniui.js:11 Uncaught RangeError: Maximum call stack size exceeded
  2.     at String.replace (<anonymous>)
  3.     at Function.String.format (miniui.js:11)
  4.     at Object.mini.olO0oo (miniui.js:11)
  5.     at OO110O.validateCell (miniui.js:11)
  6.     at OO110O.validateRow (miniui.js:11)
  7.     at OO110O.validate (miniui.js:11)
  8.     at saveGridData (vipMange.html?_t=154372&_winid=w3432:617)
  9.     at OO110O.<anonymous> (vipMange.html?_t=154372&_winid=w3432:576)
  10.     at OO110O.O0Oll [as fire] (miniui.js:11)
  11.     at OO110O.o1O1l [as OloOO] (miniui.js:11)
复制代码
为什么会出现这个错误呢?有什么更好的解决办法吗?




Rank: 8Rank: 8

沙发
发表于 2021-10-8 09:21:43 |只看该作者
setTimeout(function(){
    grid.beginEditCell(error.record, error.column);
},100)
延时一下看看。

Archiver|普加软件

GMT+8, 2024-5-10 10:14 , Processed in 1.044185 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部