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

QQ登录

只需一步,快速开始

查看: 1995|回复: 5

[分享] 用assign实现列表详情页之间的页面数据交换

  [复制链接]

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
发表于 2016-6-25 10:14:34 | 显示全部楼层 |阅读模式
以前一直困扰于两个独立的列表和详情页之间的数据同步问题。看一些案例中都是详情页返回后,列表页refreshData实现数据同步,虽然功能是可以实现的,但是列表页中的当前行焦点将发生改变,另外感觉又调用了一次向服务器发送的数据刷新请求,性能上也有点下降。
data组件其实提供了一个assign方法,用于行数据复制的,那么按照下面的路径来处理,就能解决上面提到的两个问题。
1.详情页返回row
                        var row = this.comp("detailData").getCurrentRow();
                        this.owner.send({row:row});

                        this.owner.close();
2.列表页接收数据
                        var detailCurRow = this.comp("detailData").getCurrentRow();
                        detailCurRow.assign(event.data.row);

轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2016-6-25 10:30:41 | 显示全部楼层
如果detailCurRow和返回行的列名不一样怎么办呢?
尤其主键名不一样的时候怎么办?
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
 楼主| 发表于 2016-6-25 10:55:41 | 显示全部楼层
本帖最后由 ysk007 于 2016-6-25 10:58 编辑
Masion 发表于 2016-6-25 10:30
如果detailCurRow和返回行的列名不一样怎么办呢?
尤其主键名不一样的时候怎么办? ...

一般是点击了列表中行,然后弹出详情页的,那么列表页中的当前行就是现在打开的详情页,那么详情页返回时自然是和列表页中当前行是对应的。如果极端一点,你在详情页中把ID改了,那么回来以后会覆盖列表页中当前行的ID。两个页面中列表页一般比详情页列数多,详情页列数少,那么返回后,只更新详情页中的所有字段
轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595
回复 支持 反对

使用道具 举报

377

主题

2594

帖子

5117

积分

论坛元老

Rank: 8Rank: 8

积分
5117
QQ
发表于 2016-6-25 11:02:39 | 显示全部楼层
ysk007 发表于 2016-6-25 10:55
一般是点击了列表中行,然后弹出详情页的,那么列表页中的当前行就是现在打开的详情页,那么详情页返回时 ...

用mapping不是更方便吗?
长春鱼熊企业管理咨询有限公司



X5开发出入库培训视频
(出处: 起步论坛)
回复 支持 反对

使用道具 举报

191

主题

688

帖子

3323

积分

论坛元老

Rank: 8Rank: 8

积分
3323
QQ
 楼主| 发表于 2016-6-25 12:25:22 | 显示全部楼层
Masion 发表于 2016-6-25 11:02
用mapping不是更方便吗?

你是说windowDialog的mapping属性吗?那个还需要配置,比较麻烦,而且存在一些限制,只能用静态的url
轻量化ERP--企业邦  网址:meiprocess.cn
qq:8269301
手机:13801998595
回复 支持 反对

使用道具 举报

718

主题

2841

帖子

5657

积分

论坛元老

Rank: 8Rank: 8

积分
5657
QQ
发表于 2016-6-25 23:33:04 | 显示全部楼层
高手过招
WEX5初学者,欢迎初学者交流
QQ:597558229
tel:15857336322
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-4 10:05 , Processed in 0.108231 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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