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

QQ登录

只需一步,快速开始

查看: 2828|回复: 6

[结贴] List的filter问题

[复制链接]

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
发表于 2019-4-11 13:02:05 | 显示全部楼层 |阅读模式
从界面 1 中的3个input中获取了输入的文本值,点击BUTTON1将三个值传入界面2。代码如下:        Model.prototype.button1Click = function(event){
       

        var inputlname=this.comp("inputlname").val();;//获取input5里的文本
        var inputjsname=this.comp("inputtname").val();;//获取input2里的文本
        var inputjssax=this.comp("inputtsax").val();;//获取input1里的文本
       
       
       
           var dialog = this.comp("windowDialog1");
        var url = require.toUrl("./reservation2.w");

    var params = {
        a1 : inputlname,
        a2 :inputjsname,
        a3 : inputjssax,
}
    justep.Shell.showPage(url, params)
        };

        Model.prototype.saveCommit = function(event){

        };

        Model.prototype.chaxundataCustomRefresh = function(event){
     var url=require.toUrl(".json/chaxun.json");
    $.ajaxSettings.async=false;
    $.getJSON(url,function(data){
     event.source.loadData(data);
      })
        };

        return Model;
});

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2019-4-11 13:03:27 | 显示全部楼层
本帖最后由 825701230 于 2019-4-11 13:09 编辑

Model.prototype.modelParamsReceive = function(event){
        var context = this.getContext();

    //获取URL中的参数
    var a1 = context.getRequestParameter("p1");
    var a2 = context.getRequestParameter("p2");
    var a3 = context.getRequestParameter("p3");

   



    var p1 = event.params.a1;
    var p2 = event.params.a2;
    var p3 = event.params.a3;

   
//alert(p3);
   
             debugger
    var lname = this.comp("mainData").find(["p1"],false,true,true);
                debugger
    var jsname =this.comp("mainData").find(["p2"],false,true,true);        
    var jssax = this.comp("mainData").find(["p3"],false,true,true);
  
  
      var condition;
for(a=0;a<lname.length;a++)
     {
     if(a==0){
     condition+=" || $row.val('lID')=='"+lname[a].val('lID')+"'";
     }
     else{
     condition+=" || $row.val('lID')=='"+lname[a].val('lID')+"'";
     }
     }
      this.comp("mainList").set('filter',condition);
       this.comp("mainData").refreshData();
};
此为界面2 代码,能够接收界面1 传输来的数据,界面2 本身为连接数据库的LIST组成。想用界面1 传输来的数据在数据库中筛选显示。如课程名称输入“体育”,界面2 接收后,在数据库中查找课程名称为体育的一行,将他的ID与显示的ID做为LIST的筛选条件。
回复 支持 反对

使用道具 举报

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2019-4-11 13:10:03 | 显示全部楼层
改了好几次了也不报错不知道自己错在哪里了求大神帮忙
回复 支持 反对

使用道具 举报

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2019-4-11 13:10:38 | 显示全部楼层
界面1
界面1.png
界面2.png
回复

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35918
发表于 2019-4-11 17:13:10 | 显示全部楼层
数据库过滤是data的filter

调用data的setFilterhttp://docs.wex5.com/wex5-ui-question-list-3011/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2019-4-12 13:32:48 | 显示全部楼层
本帖最后由 825701230 于 2019-4-12 14:38 编辑
jishuang 发表于 2019-4-11 17:13
数据库过滤是data的filter

调用data的setFilterhttp://docs.wex5.com/wex5-ui-question-list-3011/ ...

   
您好,打扰了代码改成了这样 var data=this.comp('mainData');
var list=this.comp('mainList');
data.setFilter('filter1',lID='005');
执行到下面这句话就出错
list.refresh(true);


如果不写这句话或者写
list.refresh(false);
就不出错。是怎么回事呢亲

回复 支持 反对

使用道具 举报

2

主题

8

帖子

30

积分

新手上路

Rank: 1

积分
30
QQ
 楼主| 发表于 2019-4-12 14:44:21 | 显示全部楼层
825701230 发表于 2019-4-12 13:32
您好,打扰了代码改成了这样 var data=this.comp('mainData');
var list=this.comp('mainList');
dat ...

我重新换了个界面又好了麻烦你啦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-27 01:02 , Processed in 0.104206 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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