jQuery MiniUI

标题: 请教,关于datagrid的updateRow方法 [打印本页]

作者: huanghk    时间: 2015-7-9 10:17:05     标题: 请教,关于datagrid的updateRow方法

请教下,目前用的是最新的版本3.6。执行datagrid.updateRow(r, data);的时候,比如row有两列code和name,更新前row的数据是{code:'123', name:'123'}。行编辑后把name的数据删掉,data的数据是{code:'123'},执行了这个方法后,r的name竟然没有被刷掉,还是保留原来的'123'。
请教下怎么解决。之前的版本(好像是3.2吧)似乎没有这个问题。

作者: dforce    时间: 2015-7-9 10:38:04

你updateRow可以更新了什么,name字段没处理的话为什么要删掉
作者: huanghk    时间: 2015-7-9 11:55:37

dforce 发表于 2015-7-9 10:38
你updateRow可以更新了什么,name字段没处理的话为什么要删掉

我是后台保存的,可以更新,但是后台没传过来的值,经过updateRow之后不会设空。因为把页面操作把name的值设置为'',数据库更新后就把name设空了。那么经过json拼装之后,空字符串的值不会回传回来。就出现了以上问题,请问可以解决吗?
作者: dforce    时间: 2015-7-9 12:19:00

huanghk 发表于 2015-7-9 11:55
我是后台保存的,可以更新,但是后台没传过来的值,经过updateRow之后不会设空。因为把页面操作把name的 ...

不清白你的意思
请提供示例
作者: huanghk    时间: 2015-7-9 12:24:39

dforce 发表于 2015-7-9 12:19
不清白你的意思
请提供示例

实际例子就是一个表格,只有两列,编号(code)和名称(name),行编辑,都是textfield。
一开始的时候编号和名称都输入"123",服务器保存,返回的data是{code:'123', name:'123'}。执行updateRow(r, data),没有问题。
再次进入行编辑,把名称的textfield清空不填,服务器保存,返回的data是{code:'123'}。执行updateRow(r, data),发现那行数据的名称一列还是显示'123',刷新了才没有。
作者: dforce    时间: 2015-7-9 13:30:08

huanghk 发表于 2015-7-9 12:24
实际例子就是一个表格,只有两列,编号(code)和名称(name),行编辑,都是textfield。
一开始的时候编 ...

请提供具体的例子
都是什么编辑器,是你调用的update还是内部执行的更新
作者: huanghk    时间: 2015-7-9 13:35:09

dforce 发表于 2015-7-9 13:30
请提供具体的例子
都是什么编辑器,是你调用的update还是内部执行的更新

具体例子代码太多,没办法贴出来喔。
编辑器就是普通行编辑,grid.beginEditRow(r);
ajax进行服务器保存后,返回的data数据,执行grid.updateRow(r, data);
就只是这样而已。问题其实出在grid.updateRow这个方法,如果data里面没有name这一列的数据,就不会update。


作者: dforce    时间: 2015-7-9 13:39:12

huanghk 发表于 2015-7-9 13:35
具体例子代码太多,没办法贴出来喔。
编辑器就是普通行编辑,grid.beginEditRow(r);
ajax进行服务器保存后 ...

你可以做过简单的例子来重新,不需要你进行什么交互,静态数据模拟就行
作者: huanghk    时间: 2015-7-9 14:20:21

dforce 发表于 2015-7-9 13:39
你可以做过简单的例子来重新,不需要你进行什么交互,静态数据模拟就行 ...

我跟踪代码到最后就是发现这个问题,应该是你们的updateRow方法如果没有对应列的数据,就不把该列刷空。那有什么方法可以把整行数据清空然后重新设置吗,除了remove。
作者: dforce    时间: 2015-7-9 14:50:02

huanghk 发表于 2015-7-9 14:20
我跟踪代码到最后就是发现这个问题,应该是你们的updateRow方法如果没有对应列的数据,就不把该列刷空。 ...

不会清空,只会更新你需要更新的字段,其他字段肯定不会处理的
作者: huanghk    时间: 2015-7-9 15:05:49

dforce 发表于 2015-7-9 14:50
不会清空,只会更新你需要更新的字段,其他字段肯定不会处理的

好吧,看来我得想想另外的办法。谢谢了!




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