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

QQ登录

只需一步,快速开始

楼主: 独家记忆

[结贴] list疑问

[复制链接]

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-28 16:55:07 | 显示全部楼层
jishuang 发表于 2017-6-28 16:51
把M010_Courseware这个概念的onotogy文件也发一下


概念.zip (4.03 KB, 下载次数: 16)
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-6-28 17:22:02 | 显示全部楼层
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-28 17:53:39 | 显示全部楼层
jishuang 发表于 2017-6-28 17:22
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间 ...

好的,谢谢你,辛苦了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-6-29 11:48:57 | 显示全部楼层
1.把里面嵌套的list上的filter去掉,并把autoLoad设置为false,把style上设置display:none去掉,把panel-body相关的设置也去掉
2.model的构造函数中定义一个变量
  this.disPlayRow = justep.Bind.observable();
3.在按钮的click事件中给 this.disPlayRow赋值
                var row = event.bindingContext.$object;
                this.disPlayRow.set(row.getID());
并且在if else给data设置过滤条件后调用list的刷新
  1.                 var row = event.bindingContext.$object;
  2.                 this.disPlayRow.set(row.getID());

  3.                 // 显示详细
  4.                 var btn = this.comp("button2");
  5.                 var iconsty = btn.icon;
  6.                 // -------------------------------------------------------------------------------------------------------------------改变图标
  7.                 // 转向
  8.                 this.comp("mainData").to(row);
  9.                 var bizData1 = this.comp("bizData1");
  10.                 var count = bizData1.getCount();       
  11.                 if (count > 0) {
  12.                         bizData1.clear();
  13.                         flag = '0';

  14.                 } else {
  15.                         // 过滤数据

  16.                         bizData1.setFilter("_filter__", "M010_Courseware='" + row.getID() + "'");
  17.                         bizData1.refreshData();                       
  18.                         flag = '1';

  19.                 }
  20.                 var list = this.comp("list3");
  21.                 list.refresh();
复制代码


4.定义函数如下
        Model.prototype.showDiv = function(event){
                 var rowid = event.getID();
                 if(this.disPlayRow.get() == rowid){
                 
                         return true;
                 }
                 else return false;
        }
5.在嵌套的list上定义bind-visible调用4中定义的函数
list.png
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-29 16:02:28 | 显示全部楼层
jishuang 发表于 2017-6-29 11:48
1.把里面嵌套的list上的filter去掉,并把autoLoad设置为false,把style上设置display:none去掉,把panel-bo ...

那个打开页面会展示出详细信息这个解决了,可是引发了新的问题,就是那个点击第二个,第二个详情展示在第一个的下面,下面所有的都是这样。
经前面我测试貌似就是因为那个data过滤去掉之后引起的
回复 支持 反对

使用道具 举报

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-29 16:17:46 | 显示全部楼层
独家记忆 发表于 2017-6-29 16:02
那个打开页面会展示出详细信息这个解决了,可是引发了新的问题,就是那个点击第二个,第二个详情展示在第 ...

你应该测试的时候只做了一条数据,你做多条,然后点击第二条或者第三条,看那个详细会出现在哪里,我记得我当初给list加过滤的时候就是因为这个我才加的
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-6-29 17:03:11 | 显示全部楼层
list嵌套就必须两层的data数据都提前加载,不能你现在的在第一个list的click事件中过滤数据再加载第二个list关联的数据

远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-29 18:12:47 | 显示全部楼层
jishuang 发表于 2017-6-29 17:03
list嵌套就必须两层的data数据都提前加载,不能你现在的在第一个list的click事件中过滤数据再加载第二个lis ...

能远程解决一下吗?这个回复太慢了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36067
发表于 2017-6-30 09:02:33 | 显示全部楼层
就是把里面的list关联的data的数据设置给外面的一样或者设置主从的关系
把js代码中动态设置filter刷新的去掉,这样才可以用list嵌套

这样的嵌套设置了bind-visible同时只能显示一个里面的list,即点击第一条数据显示第一条的,点第二条数据显示第二条的第一条的会隐藏

或者可以用listTable组件就是list的嵌套,点击父的行控制子是否显示
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

22

主题

95

帖子

417

积分

中级会员

Rank: 3Rank: 3

积分
417
QQ
 楼主| 发表于 2017-6-30 14:02:10 | 显示全部楼层
jishuang 发表于 2017-6-30 09:02
就是把里面的list关联的data的数据设置给外面的一样或者设置主从的关系
把js代码中动态设置filter刷新的去 ...

按照你这个方法设置了,还是只在第一行变动详情........................
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 14:22 , Processed in 0.070104 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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