起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1809|回复: 2

[分享] data如何传给windowDialog

  [复制链接]

8

主题

15

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
发表于 2016-8-29 10:35:26 | 显示全部楼层 |阅读模式
父窗口中:Model.prototype.btnshowevent = function(event){
                var data=this.comp('data');
                dataJson=data.toJson();               
                this.comp("DiaLogEventList").open({data:dataJson});
                };
子窗口中windowDialog的接收事件中:
Model.prototype.windowReceiver1Receive = function(event){
                this.comp('data1').loadData(event.data,true);
               
        };
这样整个data就会传递给子窗口中。   如果只是传递data中的一行
dataJson=data.getFirstRow().toJson();
子窗口中接收则:
this.comp('data1').loadData([event.data]);


8

主题

15

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2016-8-29 10:35:56 | 显示全部楼层
自顶
回复

使用道具 举报

8

主题

15

帖子

51

积分

初级会员

Rank: 2

积分
51
QQ
 楼主| 发表于 2016-8-31 09:43:25 | 显示全部楼层
补充一下,如果是传递多行数据,可以在父窗口中先把想要的数据查出来,我这里用的是find()函数,然后把查出来的结果放置一个数组中再传递给dialog。在子窗口接收时再遍历这个数组,每一行添加到子窗口的data中。如父窗口中:
var datarow=data.find(["year"],["2016"]);
                var dataarray=new Array();
                for(var i=0;i<datarow.length;i++){
                        dataarray[i]=datarow[i].toJson();
                this.comp("DiaLogEventList").open({data:dataarray});
                };

子窗口中接收:
for(var i=0;i<event.data.length;i++){//传递选择出来的data
                        this.comp('data1').loadData([event.data[i]],true)
                }
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-11-24 07:21 , Processed in 0.051425 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表