jQuery MiniUI

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

e.record和e.record._state输出的值不一致! [复制链接]

Rank: 6Rank: 6

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


  1. //行改变时提交数据到服务器
  2.     grid.on("selectionchanged", function (e) {
  3.         console.log('行改变了!')
  4.         saveGridData()

  5.     })
  6.     grid.on("cellcommitedit", function (e) {   
  7.         //var modefied=grid.getChanges()
  8.         console.log(e.record)//"modified"
  9.         console.log(e.record._state)
  10.         if (e.record._state=="modified"&&e.oldValue!=e.value) {
  11.             if (e.column.vtype=='required'&&e.value=='') {
  12.                 console.log('该单元格不能为空')
  13.                 e.cancel
  14.                 return
  15.             }
  16.             var requestData={
  17.                 update_row_id:e.record.id
  18.             }
  19.             requestData['field_code']=e.field
  20.             requestData['old_value']=e.oldValue
  21.             requestData['new_value']=e.value
  22.             sendData({url:getEleUrl(editJbBtn),data:requestData})
  23.         }
  24.     })
复制代码

在cellcommitedit事件中,当我修改单元格内的数据之后,程序执行了上面的输出上面的两个值,但为何结果会不一样的呢?这是什么原因造成的呀?
使用这个grid.getChanges()也是为空,奇怪的很呢!是我哪里写错了吗、













附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2021-10-20 09:34:24 |只看该作者
编辑结束后,我们才处理_state
除非你这行是以前就编辑过,才可能获取到modeified

Rank: 6Rank: 6

板凳
发表于 2021-10-20 13:24:50 |只看该作者
本帖最后由 joyoes 于 2021-10-20 13:27 编辑
felt 发表于 2021-10-20 09:34
编辑结束后,我们才处理_state
除非你这行是以前就编辑过,才可能获取到modeified ...

意思是第1次编辑完成时,cellcommitedit先执行后,再执行cellendedit事件,在cellendedit事件中才处理_state,我这个理解是对的吗?

Rank: 8Rank: 8

地板
发表于 2021-10-20 13:48:21 |只看该作者
joyoes 发表于 2021-10-20 13:24
意思是第1次编辑完成时,cellcommitedit先执行后,再执行cellendedit事件,在cellendedit事件中才处理_sta ...

不是在什么事件中处理的,事件只是一个时机激发。
在endedit前处理

Archiver|普加软件

GMT+8, 2024-6-3 12:50 , Processed in 1.048764 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部