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

QQ登录

只需一步,快速开始

查看: 3557|回复: 16

[结贴] 怎么显示详细页的问题

[复制链接]

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
发表于 2016-12-5 16:53:22 | 显示全部楼层 |阅读模式
首先,新人,什么都不懂,问题如果太弱智,请大家见谅!

1.png
我想做一个表格,后面有一个详细按钮,按详细按钮,跳转到另一个content,里面列出详细的内容。
2.png

当然不成功,详细content中啥没有。当然,即便成功了,也不会达到我的目的,因为里面没有指定是哪一行,如何知道我点击的详细到底指向哪一行呢?
3.png

大概的结构是这样,同一个页面做了两个content,当然是在几个例子里面复制粘贴的。
4.png

7.png

5.png

同一页面,两个content都设置baasData3的数据组件。

还请教如何显示这个详细页。

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-12-5 17:38:37 | 显示全部楼层
获取当前行  可以使用
1.this.comp("data1").getCurrentRow();
2.var row = event.bindingContext.$object;

涉及到content切换传值    建议看下:http://docs.wex5.com/comps-contents/

还有就是建议使用另一个data来暂时来给详细页保存数据
回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2016-12-6 11:08:19 | 显示全部楼层
本帖最后由 ovarbi 于 2016-12-6 11:15 编辑
半导体 发表于 2016-12-5 17:38
获取当前行  可以使用
1.this.comp("data1").getCurrentRow();
2.var row = event.bindingContext.$object; ...

获取当前行我倒是清楚,但是然后呢?是每一个单元格通过element赋值吗?

刚才执行一下,发现一个问题,我做的详细页,并非只有一条记录的详情,而是全部详情的list,但是问题来了,当点击详情的时候,没有任何详情显示,按刷新也没有:
2.png

但是,向下拉来刷新,内容就出来了
6.png

这个问题出在哪里呢?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-12-6 11:19:35 | 显示全部楼层
ovarbi 发表于 2016-12-6 11:08
获取当前行我倒是清楚,但是然后呢?是每一个单元格通过element赋值吗?

另一个问题是,为什么详细页是 ...

是每一个单元格通过element赋值???  是啥意思???

你两个content用的同一个baasdata第一个可以  第二个不可以  说明data里面不只有一条数据  你有没有循环显示  也没有指定显示哪一行才这样的
回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2016-12-6 11:22:24 | 显示全部楼层
ovarbi 发表于 2016-12-6 11:08
获取当前行我倒是清楚,但是然后呢?是每一个单元格通过element赋值吗?

刚才执行一下,发现一个问题,我 ...

不能刷新的问题设置一个autoload就解决了,还是关注前一个问题。

请问,如果我不用list,只是显示一条记录的详情,能不能在添加一个data,将baasdata3原数据库的当前记录座位这个data的源呢?如果不行 ,就必须用js来实现了,这个就是上面我问到的第一个问题,获取了当前行后怎么做??是用js一个element一个element填上去吗?有没有方法直接用bind-ref的方法,这样就简单的多了。 8.png

回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2016-12-6 11:25:52 | 显示全部楼层
本帖最后由 ovarbi 于 2016-12-6 11:27 编辑
半导体 发表于 2016-12-6 11:19
是每一个单元格通过element赋值???  是啥意思???

你两个content用的同一个baasdata第一个可以  第 ...

就是用setElementByXid(xid);一个element一个element去赋值。
不能刷新的问题设置一个autoload就解决了,还是关注前一个问题。

请问,如果我不用list,只是显示一条记录的详情,能不能在添加一个data,将baasdata3原数据库的当前记录座位这个data的源呢?如果不行 ,就必须用js来实现了,这个就是上面我问到的第一个问题,获取了当前行后怎么做??是用js一个element一个element填上去吗?有没有方法直接用bind-ref的方法,这样就简单的多了。
8.png

回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-12-6 11:38:33 | 显示全部楼层
ovarbi 发表于 2016-12-6 11:25
就是用setElementByXid(xid);一个element一个element去赋值。
不能刷新的问题设置一个autoload就解决了, ...

就像你说的  用一个新的data 然后把这些关联到那个新的data上就可以刻  不用一个个的赋值
回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2016-12-6 17:02:49 | 显示全部楼层
半导体 发表于 2016-12-6 11:38
就像你说的  用一个新的data 然后把这些关联到那个新的data上就可以刻  不用一个个的赋值 ...

请问,怎么关联到新的data?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2016-12-6 17:11:46 | 显示全部楼层
ovarbi 发表于 2016-12-6 17:02
请问,怎么关联到新的data?

你怎么关联原来的baasData   就怎么关联现在的Data啊
回复 支持 反对

使用道具 举报

17

主题

84

帖子

142

积分

初级会员

Rank: 2

积分
142
 楼主| 发表于 2016-12-6 17:30:11 | 显示全部楼层
半导体 发表于 2016-12-6 17:11
你怎么关联原来的baasData   就怎么关联现在的Data啊

现在的data1是baasdata3的当前行,只能动态关联吧,不可能在属性中设置吧。

我用了一个比较笨的方法:
  1.         Model.prototype.button2Click = function(event) {
  2.                 this.comp('data1').clear();
  3.                 var row = this.comp('baasData3').getCurrentRow();
  4.                 var row2 = this.comp('data1').getCurrentRow();
  5.                 row2.assign(row);
  6.                 this.comp("content1").getContent('xiangxi_gerentingke').active();
  7.         };

  8.         return Model;
  9. });
复制代码


不过,点击详情,没反应。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 07:19 , Processed in 0.058068 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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