jQuery MiniUI

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

DATAGrid问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-11-21 22:29:59 |只看该作者 |倒序浏览
在DataGrid的某列为JSON数组是,updateRow无法更新该列;


Rank: 2

沙发
发表于 2012-11-21 23:05:09 |只看该作者
跟了一下代码,是isEqual有缺陷造成的:
    isEquals: function ($, _) {
        if ($ !== 0 && _ !== 0) if ((mini.isNull($) || $ == "") && (mini.isNull(_) || _ == "")) return true;
        if ($ && _ && $.getFullYear && _.getFullYear) return $[Swe]() === _[Swe]();
        if (typeof $ == "object" && typeof _ == "object" && $ === _) return true;
       return String($) === String(_)
    },

如果$和_是两个对象,无论内部的值是否相等肯定都是返回true的,因为转出来都是object,或者[object]之类的形式,只有两个数组长度不一的时候才能返回false;

有没有什么办法解决?或者提供一种强制刷新的方法?

Rank: 9Rank: 9Rank: 9

板凳
发表于 2012-11-22 09:35:19 |只看该作者
行的某属性是数组吗?
比如:
grid.updateRow(row, {"abc": []});

是这样?

Rank: 2

地板
发表于 2012-11-22 09:41:23 |只看该作者
niko 发表于 2012-11-22 09:35
行的某属性是数组吗?
比如:
grid.updateRow(row, {"abc": []});

数组或者json都一样

Rank: 9Rank: 9Rank: 9

5#
发表于 2012-11-22 13:53:52 |只看该作者
var row = grid.getSelected();
grid.updateRow(row, {"abc": []});

这样运行没有错误啊。
你能否提供一个重现问题的html示例,然后上传。

Rank: 2

6#
发表于 2012-11-22 17:22:24 |只看该作者
niko 发表于 2012-11-22 13:53
var row = grid.getSelected();
grid.updateRow(row, {"abc": []});

不会报错,只是更新不了而已;

Rank: 9Rank: 9Rank: 9

7#
发表于 2012-11-22 18:46:27 |只看该作者
数据其实是修改的,只是没显示红色小图标,已经修复,下周更新。

Rank: 2

8#
发表于 2012-11-23 23:32:44 |只看该作者
niko 发表于 2012-11-22 18:46
数据其实是修改的,只是没显示红色小图标,已经修复,下周更新。

我不知道你测试的数据是怎样的,反正我这里是不会更新到的,只好改了源码
修复了就好

Rank: 9Rank: 9Rank: 9

9#
发表于 2012-11-25 10:17:03 |只看该作者
你下载下再试试是否可以。

测试代码:
var row = grid.getSelected();
grid.updateRow(row, {"name": []});

Archiver|普加软件

GMT+8, 2024-11-25 13:39 , Processed in 1.025100 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部