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

QQ登录

只需一步,快速开始

查看: 1979|回复: 4

[处理中1] data组件

[复制链接]

14

主题

38

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
发表于 2016-10-25 09:25:00 | 显示全部楼层 |阅读模式
想要实现根据姓名查询姓名和电话。
Model.prototype.searchbtnChange = function(event) {
                var dataT = this.comp("employData").val("username");
                var deptName = this.comp("searchinput").val();
                if (deptName === null) { // 当条件为空时,则设置 过滤器为空,加载所有数据。
                        dataT.setFilter('');
                        dataT.refreshData();
                }
                if (deptName !== "") { // 当条件为空时,则设置
                        // 过滤器为空,加载所有数据。
                        dataT.setFilter('eval($row.val("deptName").indexOf("' + deptName + '")) >=0');
                        dataT.refreshData();
                        // this.comp("contents1").to("content2");
                }
        };

写在了input的onchange事件里
2.png

14

主题

38

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
 楼主| 发表于 2016-10-25 09:25:37 | 显示全部楼层
请问代码如何修改
回复 支持 反对

使用道具 举报

1

主题

3232

帖子

1174

积分

金牌会员

Rank: 6Rank: 6

积分
1174
QQ
发表于 2016-10-25 13:51:08 | 显示全部楼层
zhujianlin 发表于 2016-10-25 09:25
请问代码如何修改

你的问题是什么啊?
这个逻辑没错啊,只是后面这个setFilter 不对吧,需要两个参数,setFilter("filter","") 后面才是过滤条件
'eval($row.val("deptName").indexOf("' + deptName + '")) >=0' 这个就是过滤条件吗?
这样的格式 最好写成 if(){}else if(){}个人建议   
在问题解决后,希望大家可以吧解决方法也分享一下,这样可以让更多的X5开发者共同进步,谢谢大家的知识共享
回复 支持 反对

使用道具 举报

14

主题

38

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
 楼主| 发表于 2016-10-27 09:06:20 | 显示全部楼层
闰土 发表于 2016-10-25 13:51
你的问题是什么啊?
这个逻辑没错啊,只是后面这个setFilter 不对吧,需要两个参数,setFilter("filter"," ...

现在可以实现模糊查询人员,但是我想根据首字母进行排序,
现在后台给我传的数据里有首字母的值,我用嵌套list实现了,
但是模糊查询功能不好用了。
回复 支持 反对

使用道具 举报

14

主题

38

帖子

78

积分

初级会员

Rank: 2

积分
78
QQ
 楼主| 发表于 2016-10-27 10:54:34 | 显示全部楼层
代码如下:
Model.prototype.searchbtnChange = function(event) {
                var data = this.comp("employData");
                var empName = this.comp("searchinput").val();
                var lRow = data.getLastRow(), row, names = [];
                data.first();
                do {
                        row = data.getCurrentRow();
                        data.setValue('query', '1');
                        data.next();
                } while (lRow != row);
                if (empName != "") {
                        var rows = data.find([ 'userName' ], [ empName ], false, true, true, false);
                        for (var i = 0; i < rows.length; i++) {
                               
                                rows[i].val("query", null);
                        }
                } else {
                        data.first();
                        do {
                                row = data.getCurrentRow();
                                data.setValue('query', null);
                                data.next();
                        } while (lRow != row);
                }
        };

1.png
2.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-19 01:18 , Processed in 0.062804 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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