jQuery MiniUI

标题: DATAGrid问题 [打印本页]

作者: comeon12c    时间: 2012-11-21 22:29:59     标题: DATAGrid问题

在DataGrid的某列为JSON数组是,updateRow无法更新该列;



作者: comeon12c    时间: 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;

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

作者: niko    时间: 2012-11-22 09:35:19

行的某属性是数组吗?
比如:
grid.updateRow(row, {"abc": []});

是这样?
作者: comeon12c    时间: 2012-11-22 09:41:23

niko 发表于 2012-11-22 09:35
行的某属性是数组吗?
比如:
grid.updateRow(row, {"abc": []});

数组或者json都一样
作者: niko    时间: 2012-11-22 13:53:52

var row = grid.getSelected();
grid.updateRow(row, {"abc": []});

这样运行没有错误啊。
你能否提供一个重现问题的html示例,然后上传。
作者: comeon12c    时间: 2012-11-22 17:22:24

niko 发表于 2012-11-22 13:53
var row = grid.getSelected();
grid.updateRow(row, {"abc": []});

不会报错,只是更新不了而已;
作者: niko    时间: 2012-11-22 18:46:27

数据其实是修改的,只是没显示红色小图标,已经修复,下周更新。
作者: comeon12c    时间: 2012-11-23 23:32:44

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

我不知道你测试的数据是怎样的,反正我这里是不会更新到的,只好改了源码
修复了就好
作者: niko    时间: 2012-11-25 10:17:03

你下载下再试试是否可以。

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




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