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

QQ登录

只需一步,快速开始

查看: 966|回复: 5

[结贴] 请求版主关于data组件信息与对话框信息关联后出错问题。

[复制链接]

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
发表于 2016-2-24 14:42:50 | 显示全部楼层 |阅读模式
程序解决的问题与思路:有2个data组件,其中都有name这一列,通过list DATA1, 在每一行数据最后列加上一个按钮,通过点击按钮,获得DATA1的name信息,然后找到DATA2中含有该name的行,并把该行List出来。

程序: 获得 list DATA1 中的行的信息,取得name的值,通过each查找方法,获得含有name的DATA2中行的信息,将该行的信息通过open一个对话框,发送到LIST.w 页面。

出现的问题:上述思路与程序能够实现,但是出现如下问题,点击第一行数据对话框显示正确信息,点击第二行数据时,对话框显示了第一行的信息,再次点击时才出现第二行的信息,其他各行也是如此。

自己的想法:是否显示第一行的信息后没有删除该行信息,如实增加了显示后删除data组件中的数据,没有解决问题,请求版主的帮助。

   Model.prototype.peoplefind = function(event){
           var row = event.bindingContext.$object;
           var self = this;
               
                var data3=this.comp('homedata');
                var name= data3.val("fname");
               

                var data4=this.comp('peopledata');                
                data4.clear();
               



                       
        var rows = [];      
           self.comp('testData').each(function(param){
      
              if(param.row.val('fname').indexOf(name) != -1)
                 {
                  rows.push(param.row);  

                     self.comp("detailDialog").open({
                        "data" : {
                                "operator" : "edit",
                                "rowData" :
                     {
                                                "fID" : param.row.val("fID"),
                                                "fname" : param.row.val("fname"),
                                                "fsex" : param.row.val("fsex"),
                                                "fphone" : param.row.val("fphone"),
                                                "fophone" : param.row.val("fophone"),           
                                                "fwork" : param.row.val("fwork"),
                                                "foffice" : param.row.val("foffice"),
                                                "fnote" : param.row.val("fnote"),
                                                "femail" : param.row.val("femail"),
                     }
                                }
                     });
               
                 }
  



     });

};

发表于 2016-2-24 14:48:10 | 显示全部楼层
你这个问题有两种思路
1.根据条件name  给data2组件设置过滤条件,使用setFilter 方法,这个属于后台过滤
2.使用list组件设置filter,绑定一个js方法,ko对象作为过滤条件,修改ko对象的值就会动态过滤要显示的数据,这个属于前台过滤,参考:http://bbs.wex5.com/forum.php?mo ... 0&pid=165210701
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-2-24 17:36:50 | 显示全部楼层
多谢指点! 目前我不需要list符合条件的DATA2的数据,只要得到那一行的值,该怎么做呢?
回复 支持 反对

使用道具 举报

发表于 2016-2-24 17:50:27 | 显示全部楼层
jerrynju 发表于 2016-2-24 17:36
多谢指点! 目前我不需要list符合条件的DATA2的数据,只要得到那一行的值,该怎么做呢? ...

http://bbs.wex5.com/forum.php?mo ... 0&pid=165175903
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-2-24 20:40:39 | 显示全部楼层
在您的指导下,问题得到解决,多谢!
name= row.val("fname"); 与 name= data.val("fname");  一字之差,2天才得到正确答案。
看来真的要好好学习
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-2-24 20:41:21 | 显示全部楼层
在您的指导下,问题得到解决,多谢!
name= row.val("fname"); 与 name= data.val("fname");  一字之差,2天才得到正确答案。
看来真的要好好学习
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 07:15 , Processed in 0.052588 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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