jQuery MiniUI

标题: grid setData()问题 [打印本页]

作者: xuxiao478    时间: 2013-7-8 20:35:40     标题: grid setData()问题

父页面:放主grid,有个方法abc();用来新增返回的数据
子页面:放子grid
子页面通过window.Owner.abc(参数:子grid.getSelected());来调用abc()方法,新增数据。
问题:数据显示不到父页面的grid;在ie下总是alert一个窗口,上面显示 0 undefined  ;在火狐下显示 datagrid json is error

[attach]2314[/attach]
//父页面函数
  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();
  }

作者: factory    时间: 2013-7-9 09:13:26

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

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

grid.setData()函数的参数不是要josn数据吗
作者: factory    时间: 2013-7-9 09:31:08

xuxiao478 发表于 2013-7-9 09:16
grid.setData()函数的参数不是要josn数据吗

setData()是需要数组
如果是url加载的话,后台返回的才是json字符串
作者: xuxiao478    时间: 2013-7-9 09:36:46

factory 发表于 2013-7-9 09:31
setData()是需要数组
如果是url加载的话,后台返回的才是json字符串

我在主页面grid有数据了,但是ie下总是弹出提示框[attach]2315[/attach]这是怎么回事
作者: xuxiao478    时间: 2013-7-9 09:55:10

xuxiao478 发表于 2013-7-9 09:36
我在主页面grid有数据了,但是ie下总是弹出提示框这是怎么回事

这个解决了  是grid.reload()的问题
作者: xuxiao478    时间: 2013-7-9 10:13:56

factory 发表于 2013-7-9 09:31
setData()是需要数组
如果是url加载的话,后台返回的才是json字符串

我得到子grid的数据后子页面关闭 我想主grid编辑数据  报不能执行已释放 Script 的代码的js错误  这个是什么问题
作者: factory    时间: 2013-7-9 14:08:07

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

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

var cloneData = mini.clone(data);
作者: xuxiao478    时间: 2013-7-9 18:18:37

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

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

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

作者: factory    时间: 2013-7-10 09:53:02

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

你用个变量保存下就行了




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