jQuery MiniUI

标题: 关于cellendedit事件的问题。 [打印本页]

作者: lixiaoliang7    时间: 2012-11-6 05:17:51     标题: 关于cellendedit事件的问题。

在事件中修改e.record中某列的数据,每次都是第二次修改才生效。请问是什么原因呢?
我测试了,保证每次事件都是正确触发了的。

作者: lixiaoliang7    时间: 2012-11-6 05:39:40

本帖最后由 lixiaoliang7 于 2012-11-6 05:40 编辑

我又测试了一下,似乎是第一次record.xx修改后的值,第二次修改时才会显示至页面中
作者: lixiaoliang7    时间: 2012-11-6 06:00:38

拿这个DEMO即可还原一下情况
http://miniui.com/demo/#src=datagrid/cellvalidation.html

修改:
datagird添加oncellendedit="cellendedit"
然后添加js方法
function cellendedit(e) {
            var now = new Date();
            alert(now);
            e.record.loginname = now;
        }

编辑一列即可发现,值并没有马上显示至loginname列中
当进行第二次编辑时,发现上次的值显示到了loginname列中(可以拿alert出来的值进行了一下对比,看秒就好了)
作者: lixiaoliang7    时间: 2012-11-6 07:53:18

但我发现最终提交后的json串,是正常的。
作者: factory    时间: 2012-11-6 09:45:26

lixiaoliang7 发表于 2012-11-6 07:53
但我发现最终提交后的json串,是正常的。

我昨天理解错误了,以为你只是修改这行的数据,然后提交.
你这样应该是这样做:
  1. function cellendedit(e) {
  2.             var now = new Date();
  3.             grid.updateRow(e.row,{loginname:now});
  4.         }
复制代码
应该用gird.updateRow(row,rowData)这个方法




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2