jQuery MiniUI

 找回密码
 立即注册
楼主: wslfriend
打印 上一主题 下一主题

请问 Inline DetailGrid [复制链接]

Rank: 8Rank: 8

21#
发表于 2013-11-11 09:47:19 |只看该作者
wslfriend 发表于 2013-11-11 04:18
哈哈,又碰到新问题了,请先看图

因为内嵌子表是客户自己创建的,所以我们没法设置标准化的通用API.
你可以在你创建内嵌子表的时候,给主表行和内嵌子表有个约定,通过内嵌子表的id和行的唯一标识字段
你看下下面的代码
  1. //生成子表格的时候,约定一个id
  2. row.subid = "subgrid"+new Date().getTime();
  3. subgrid.setId(row.subid);

  4. //点击保存的时候,遍历主表,找子表
  5. var data = [];
  6. var rows = grid.getData();
  7. for(var i=0,l=rows.length; i<l; i++){
  8.         var row = rows[i];
  9.         var subgrid = mini.get(row.subid);
  10.         if(!subgrid) continue;
  11.         //获得子表的改动数据
  12.         var changes = subgrid.getChanges();
  13.         data.addRange(changes);
  14.         ...
  15. }
  16. var json = mini.encode(data);//一次性提交所有子表变更数据
复制代码

Rank: 4

22#
发表于 2013-11-11 12:13:59 |只看该作者
factory 发表于 2013-11-11 09:47
因为内嵌子表是客户自己创建的,所以我们没法设置标准化的通用API.
你可以在你创建内嵌子表的时候,给主表 ...

这段代码很有启发意义,谢谢了。。。

前文所述问题,我用脚本方式搞定了, 子表改动后触发父表  row._state = "modified" 。

暂时算OK了吧。

Archiver|普加软件

GMT+8, 2024-11-17 21:40 , Processed in 1.061973 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部