jQuery MiniUI

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

一个关于datagrid弹出窗口新增数据的问题 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2012-10-24 16:21:08 |只看该作者 |倒序浏览
请问一下DataGrid 弹出窗口增加数据的时候能不能在不关闭窗口的条件下 马上可以看到增加的数据

Rank: 8Rank: 8

沙发
发表于 2012-10-24 16:25:42 |只看该作者
可以,在父页面写个新增行的方法a(newdata);
然后子页面通过window.Owner.a(newdata);来调用父页面的a()方法,并且把newdata传过去。

Rank: 2

板凳
发表于 2012-10-24 16:34:30 |只看该作者
factory 发表于 2012-10-24 16:25
可以,在父页面写个新增行的方法a(newdata);
然后子页面通过window.Owner.a(newdata);来调用父页面的a()方 ...

谢谢~~能说清楚一些吗~~关键是跨页面的,能不能举个例子~~

Rank: 8Rank: 8

地板
发表于 2012-10-24 17:03:59 |只看该作者
SeanChen 发表于 2012-10-24 16:34
谢谢~~能说清楚一些吗~~关键是跨页面的,能不能举个例子~~


我刚才其实讲复杂了,
如果你点击弹出框的确定按钮,直接将新增的数据增加到数据库的话,父页面只需要一个reload()方法就可以了
父页面:
  1. function gridreload(){
  2.     grid.reload();
  3. }
复制代码
子页面:
只要在你的savedata方法里面,通过window.Owner.gridreload();就可以了。他会调用到父页面的gridreload()方法,从而刷新表格,将新增的数据从数据库里面加载进来

Rank: 8Rank: 8

5#
发表于 2012-10-24 17:05:26 |只看该作者
子页面的方法类似这样:
  1. function SaveData() {
  2.             var o = form.getData();            

  3.             form.validate();
  4.             if (form.isValid() == false) return;

  5.             var json = mini.encode([o]);
  6.             $.ajax({
  7.                 url: "../data/AjaxService.aspx?method=SaveEmployees",
  8.                 data: { data: json },
  9.                 cache: false,
  10.                 success: function (text) {
  11.                     window.Owner.gridreload();//新增成功,调用父页面方法,刷新
  12.                 },
  13.                 error: function (jqXHR, textStatus, errorThrown) {
  14.                     alert(jqXHR.responseText);
  15.                     CloseWindow();
  16.                 }
  17.             });
  18.         }
复制代码

Rank: 2

6#
发表于 2012-10-24 17:08:10 |只看该作者
factory 发表于 2012-10-24 17:05
子页面的方法类似这样:

我试试看哈~~非常感谢你~

Rank: 2

7#
发表于 2012-10-24 17:19:54 |只看该作者
factory 发表于 2012-10-24 17:05
子页面的方法类似这样:

貌似不行,提示错误: 无法获取属性“gridreload”的值: 对象为 null 或未定义

Rank: 8Rank: 8

8#
发表于 2012-10-24 17:25:14 |只看该作者
SeanChen 发表于 2012-10-24 17:19
貌似不行,提示错误: 无法获取属性“gridreload”的值: 对象为 null 或未定义

你本地有demo的吧?
你这样,在datagrid.html里面增加一个方法
  1. function gridreload(){
  2.     grid.reload();
  3. }
复制代码
然后在CommonLibs/EmployeeWindow.html页面里的SaveData方法换成我上面的贴的那个子页面的方法
你测试下能否控制父页面的gird刷新。
这个是肯定可行的

Rank: 2

9#
发表于 2012-10-24 17:28:03 |只看该作者
factory 发表于 2012-10-24 17:25
你本地有demo的吧?
你这样,在datagrid.html里面增加一个方法然后在CommonLibs/EmployeeWindow.html页面 ...

有democ~~

Rank: 2

10#
发表于 2012-10-24 17:31:50 |只看该作者
factory 发表于 2012-10-24 17:25
你本地有demo的吧?
你这样,在datagrid.html里面增加一个方法然后在CommonLibs/EmployeeWindow.html页面 ...

3Q哈~谢谢不厌其烦的回答~

Archiver|普加软件

GMT+8, 2024-7-13 15:54 , Processed in 1.050846 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部