jQuery MiniUI

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

grid setData()问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2013-7-8 20:35:40 |只看该作者 |倒序浏览
父页面:放主grid,有个方法abc();用来新增返回的数据
子页面:放子grid
子页面通过window.Owner.abc(参数:子grid.getSelected());来调用abc()方法,新增数据。
问题:数据显示不到父页面的grid;在ie下总是alert一个窗口,上面显示 0 undefined  ;在火狐下显示 datagrid json is error


//父页面函数
  function addMealInfo(data) {
   alert(data);
   grid.setData(data);
  }

//子页面函数   
  function addInfo() {
   var rows = grid.getSelecteds();
   var json = mini.encode(rows);
   //var date = [{"itemid":"1222","fwflid": "社区服务","sqfwxmflid": "家政服务","fwnrmc": "家庭护理","fwdj": "15","fwzdj": "15","sflxid": "计件标准类型","ckfwsj": "30-45分钟/次","fwfw": "街镇项目","yxx": "是","lsjgbm": "310115","fwcs": "10","fwje": "150","checkperson":""}];
   window.Owner.addMealInfo(date);
   window.CloseOwnerWindow();
  }
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2013-7-9 09:13:26 |只看该作者
var json = mini.encode(rows);
都变成字符串了,你再给到父页面,setData()肯定出错啊,setData()要的是一个数组,不是字符串
1.把var json = mini.encode(rows)去掉
2.在父页面mini.decode(json)
不过这样做有点多余,不明白你为什么要把数据变成json字符串

Rank: 2

板凳
发表于 2013-7-9 09:16:55 |只看该作者
factory 发表于 2013-7-9 09:13
var json = mini.encode(rows);
都变成字符串了,你再给到父页面,setData()肯定出错啊,setData()要的是 ...

grid.setData()函数的参数不是要josn数据吗

Rank: 8Rank: 8

地板
发表于 2013-7-9 09:31:08 |只看该作者
xuxiao478 发表于 2013-7-9 09:16
grid.setData()函数的参数不是要josn数据吗

setData()是需要数组
如果是url加载的话,后台返回的才是json字符串

Rank: 2

5#
发表于 2013-7-9 09:36:46 |只看该作者
factory 发表于 2013-7-9 09:31
setData()是需要数组
如果是url加载的话,后台返回的才是json字符串

我在主页面grid有数据了,但是ie下总是弹出提示框这是怎么回事
附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 2

6#
发表于 2013-7-9 09:55:10 |只看该作者
xuxiao478 发表于 2013-7-9 09:36
我在主页面grid有数据了,但是ie下总是弹出提示框这是怎么回事

这个解决了  是grid.reload()的问题

Rank: 2

7#
发表于 2013-7-9 10:13:56 |只看该作者
factory 发表于 2013-7-9 09:31
setData()是需要数组
如果是url加载的话,后台返回的才是json字符串

我得到子grid的数据后子页面关闭 我想主grid编辑数据  报不能执行已释放 Script 的代码的js错误  这个是什么问题

Rank: 8Rank: 8

8#
发表于 2013-7-9 14:08:07 |只看该作者
xuxiao478 发表于 2013-7-9 10:13
我得到子grid的数据后子页面关闭 我想主grid编辑数据  报不能执行已释放 Script 的代码的js错误  这个是 ...

跨页面传递数据需要克隆下才能用,尤其是当关闭掉数据来源页面的时候

var cloneData = mini.clone(data);

Rank: 2

9#
发表于 2013-7-9 18:18:37 |只看该作者
factory 发表于 2013-7-9 14:08
跨页面传递数据需要克隆下才能用,尤其是当关闭掉数据来源页面的时候

var cloneData = mini.clone(data) ...

那我比如这次主页面加载了2条数据,之后再打开子页面选择数据,选择好之后把之前的2条数据清空了 请问miniUI有类似的方法保留原数据吗

Rank: 8Rank: 8

10#
发表于 2013-7-10 09:53:02 |只看该作者
xuxiao478 发表于 2013-7-9 18:18
那我比如这次主页面加载了2条数据,之后再打开子页面选择数据,选择好之后把之前的2条数据清空了 请问min ...

你用个变量保存下就行了

Archiver|普加软件

GMT+8, 2024-11-22 21:45 , Processed in 1.060474 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部