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

QQ登录

只需一步,快速开始

查看: 11896|回复: 24

[结贴] 请求关于find用法!

[复制链接]

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
发表于 2016-1-18 18:55:55 | 显示全部楼层 |阅读模式
版主您好!我想获得查询input中的值(searchInput),通过find来进行模糊查询,为何下列代码不能实现呢?问题出在哪里?请给予帮助。谢谢!!!!

(如果将find中的“searhVal” 换成真实的名字如“华”,则可以实现我需要的功能!)
另外,如果我想不是仅仅针对“fname”列进行模糊查询,而是对所有数据列进行查询,怎么写代码呢?

============================================
        Model.prototype.peopleDataSearch = function(event){
                var searchVal = this.getElementByXid("searchInput").value;               
       
               
        var rows = this.comp('peopleData').find(['fname'],['searchVal'],true,true,true);
        if(rows.length==0) alert('没有符合条件数据');               
               
        };

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-18 19:49:11 | 显示全部楼层
我自己现在解决了searchInput的问题,把两边的‘’去掉就可以了。但是不知道同时对所有列进行模糊查询还不知道怎么办?请求帮助!!!
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-18 21:25:07 | 显示全部楼层
刚刚程序骗了我,表面上通过了,实际上我没有得到find的值,请求帮助!
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-18 21:39:21 | 显示全部楼层
无论我输入哪一行的姓名,为何下列代码获得的信息总是第一行数据?请版主指教!

        Model.prototype.peopleDataSearch = function(event){
                var searchVal = this.getElementByXid("searchInput").value;               
        var data=this.comp('peopleData');
        var rows = this.comp('peopleData').find(['fname'],[searchVal],true,true,true);
        var crow = data.getCurrentRow();
        
        var v= data.getValue('fname',crow);
               
        if(rows.length==0) alert('没有找到符合您查询条件的信息!')      
        
        else {
              var v1 = data.getValue(data.idColumn);
              var info="姓名:"+v+",ID:"+v1;
               alert(info)

      
              }   
        ;                
        };
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-18 23:22:31 | 显示全部楼层
刚刚看了视频得到启发,已经解决了获得要查找的行的数据并正确得到该行的值。

this.comp('peopleData').to(rows[0]);

希望得到版主关于在所有列进行模糊查询的方法的指教!
回复 支持 反对

使用道具 举报

发表于 2016-1-19 10:45:46 | 显示全部楼层
jerrynju 发表于 2016-1-18 23:22
刚刚看了视频得到启发,已经解决了获得要查找的行的数据并正确得到该行的值。

this.comp('peopleData').to ...

所有列模糊查询?可以自己写一个方法,使用data组件的each  循环搜有行,每一行数据对每一列的值都通过js进行的字符串比较!符合条件就把当前行放入一个集合中!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-19 19:56:28 | 显示全部楼层
感谢您的回复!我开始也是这么想的,但是这样做程序效率就低很多,我以为WeX5有类似功能的API。好的,我先按照您的建议写写看,有问题再请教您!Thanks!
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-19 21:50:22 | 显示全部楼层
请教版主下列代码为何不行呢?

Model.prototype.peopleDataSearch = function(event){
                var searchVal = this.getElementByXid("searchInput").value;               
        var data=this.comp('peopleData');
        var data1=this.comp('searchData');        
        var total= data.getCount();
        

       var names = [];
              
        this.comp('peopleData').eachAll(function(param){
         
           names.push(param.row.val('fname'));
           
           var N=names;
           
           if(N.indexOf(searchVal) != -1)
                 {
                  // 如果包含,进行相应处理;      
                  alert(names);
                  }
           else
                  alert('没有找到相关信息!');

               
         });

       };
回复 支持 反对

使用道具 举报

发表于 2016-1-20 09:56:52 | 显示全部楼层
jerrynju 发表于 2016-1-19 21:50
请教版主下列代码为何不行呢?

Model.prototype.peopleDataSearch = function(event){

不是啦,你直接判断param.row.val('fname')的值是否符合要求,当然也应该判断其它的字段,因为是模糊查询,
如果符合要就则把param.row放在定义的一个rows的数组中!
应该是rows.push(param.row)  
这样就可以得到所有符合条件的所有行数据了!

如果是想只显示这些数据,建议再定义一个新的data组件,把这个数组中的数据全部放进去:http://bbs.wex5.com/forum.php?mo ... 0&pid=165189186
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

22

主题

142

帖子

316

积分

中级会员

Rank: 3Rank: 3

积分
316
QQ
 楼主| 发表于 2016-1-20 13:31:48 | 显示全部楼层
感谢回复和指点!目前是仅仅对姓名(fname)进行模糊查找,所以只写了一个条件。问题是现在我不知道如何把符合条件的fname放到rows这个空数组?能否给个完整的代码?多谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-28 06:06 , Processed in 0.065593 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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