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

QQ登录

只需一步,快速开始

查看: 3088|回复: 2

[结贴] List组件嵌套只展开一个从表数据

[复制链接]

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
发表于 2017-11-28 18:28:02 | 显示全部楼层 |阅读模式
DJOG7MX@I3IVU[NT(E4%7$J.png
List组件嵌套  能否每次点击主表 只显示一个从表的数据,例如我点击序号4,的数据,把原来序号3下面展开的数据收起来

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36180
发表于 2017-11-29 13:51:47 | 显示全部楼层
创建listTable是默展开勾选去掉
listTable.png


在主data上定义一个计算关系,如名字是rowVisible
在listTable生成的节点中找有hide样式的tr,bind-visible上设置val("rowVisible")=='true'
并且自定义一个属性bind-attr-title='ref("AP_ZB")',AP_ZB是主data关联的概念

可以自定义一个class如下:
  1. .rowVisible{}
复制代码

在listTable生成的节点中找有info样式的tr,重新bind-click事件,如下:
  1.         Model.prototype.tr2Click = function(event) {
  2.                 var $oldRow = $(this.getElementByXid("listTable1")).find(".rowVisible");               
  3.                 var $e = $(event.currentTarget);               
  4.                 if($oldRow.length>0){
  5.                         for(var i = 0;i<$oldRow.length;i++){
  6.                                 if($oldRow[i].title !=$e.next()[0].title && !$oldRow.hasClass("hide")){
  7.                                         $oldRow.removeClass("rowVisible");
  8.                                         $oldRow.addClass('hide');
  9.                                 }
  10.                         }
  11.                 }                       
  12.                 $('>td>i.x-expand-i', $e).toggleClass('');
  13.                 $e.next().toggleClass('hide');
  14.                 $e.next().addClass("rowVisible");
  15.                 var data = this.comp("bizData1");
  16.                 var row = event.bindingContext.$object;
  17.                 var rowID = event.bindingContext.$object.getID();
  18.                 if(!$e.next().hasClass('hide')) {
  19.                         data.each(function(param) {
  20.                                 if (param.row.getID() == rowID) {

  21.                                         param.row.val("rowVisible", "true");
  22.                                 } else
  23.                                         param.row.val("rowVisible", "false");
  24.                                        
  25.                         })
  26.                 }
  27.         };
复制代码



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



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

使用道具 举报

85

主题

273

帖子

647

积分

高级会员

Rank: 4

积分
647
QQ
 楼主| 发表于 2017-11-30 17:46:21 | 显示全部楼层
jishuang 发表于 2017-11-29 13:51
创建listTable是默展开勾选去掉

很好!很赞!功能已经按照代码实现  可以结帖了  谢谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 15:49 , Processed in 0.068250 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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