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

QQ登录

只需一步,快速开始

查看: 4538|回复: 10

[处理中3] data的过滤

[复制链接]

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
发表于 2019-2-18 16:31:31 | 显示全部楼层 |阅读模式
我一开始从数据库中过滤出三百条数据,然后我要在这数据上在进行过滤(但是我用了clear后,就变成数据库中的数目了,这样的代码变的特别慢,有没有比较好的方法啊,数据库中的数据量还是比较大的),

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35878
发表于 2019-2-18 16:59:15 | 显示全部楼层
要在这数据上在进行过滤,那就直接设置filter啊,不需要clear
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
 楼主| 发表于 2019-2-18 17:14:37 | 显示全部楼层
jishuang 发表于 2019-2-18 16:59
要在这数据上在进行过滤,那就直接设置filter啊,不需要clear

但是我过滤过一次了,已经过滤出6条了,但是我要清除掉这个过滤条件,然后过滤 出300多条了,但是用clear后就是数据库中的上千条了
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35878
发表于 2019-2-18 17:19:21 | 显示全部楼层
把具体的需求完整的描述一下,具体要实现什么效果?具体的过滤怎么设置的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
 楼主| 发表于 2019-2-18 17:27:14 | 显示全部楼层
jishuang 发表于 2019-2-18 17:19
把具体的需求完整的描述一下,具体要实现什么效果?具体的过滤怎么设置的 ...


majorName.each(function(params) {
                        debugger;
                        var majorCode = params.row.val("CD_NO");
                        var majorName = params.row.val("CD_NAME");
                        // 筛选出每个专业的最上层的评价项目,然后遍历它们,得到标准分和得分,然后相加得到每个专业的总分
                        scoreData.filters.clear();
                        scoreData.refreshData();
                        scoreData.setFilter("FL", "CHECK_RESULT_ID = '" + guid + "' AND TSP_CHECK_MARKSHEET.MAJOR_CODE ='" + majorCode + "' AND TSP_CHECK_MARKSHEET.PARENTID IS NULL");
                        scoreData.refreshData();
                        var standardScore = 0;
                        var score = 0;
                        scoreData.each(function(params) {
                                var STANDARD_SCORE = params.row.val("STANDARD_SCORE");
                                if (STANDARD_SCORE === undefined) {
                                        STANDARD_SCORE = 0;
                                }
                                var SCORE = params.row.val("SCORE");
                                if (SCORE === undefined) {
                                        SCORE = 0;
                                }
                                standardScore = standardScore + STANDARD_SCORE;
                                score = score + SCORE;
                        });

scoreData是取得数据库中表的数据,然后页面加载后过滤出来300多条数据,然后每个专业想在这三百多条数据基础上过滤,但是都在一个页面,不加clear的话,第一次过滤出来10条,scoreData就只有10条了,但是加入了clear后就要取数据库中5000多条数据,所以特别慢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35878
发表于 2019-2-18 17:31:53 | 显示全部楼层
scoreData.setFilter("FL", "CHECK_RESULT_ID = '" + guid + "' AND TSP_CHECK_MARKSHEET.MAJOR_CODE ='" + majorCode + "' AND TSP_CHECK_MARKSHEET.PARENTID IS NULL");
保持前面的名字不变,修改后面的过滤条件啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
 楼主| 发表于 2019-2-18 18:00:00 | 显示全部楼层
jishuang 发表于 2019-2-18 17:31
scoreData.setFilter("FL", "CHECK_RESULT_ID = '" + guid + "' AND TSP_CHECK_MARKSHEET.MAJOR_CODE ='"  ...

不行啊 这样过滤后,下次循环过来只有6条啊,不清除还是不行啊
回复 支持 反对

使用道具 举报

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
 楼主| 发表于 2019-2-18 18:10:13 | 显示全部楼层
jishuang 发表于 2019-2-18 17:31
scoreData.setFilter("FL", "CHECK_RESULT_ID = '" + guid + "' AND TSP_CHECK_MARKSHEET.MAJOR_CODE ='"  ...

过滤了之后var出来是只有过滤出来的那几条嘛,你说的方法我没听懂什么意思
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35878
发表于 2019-2-19 08:36:53 | 显示全部楼层
你要的不就是重写这个过滤条件吗?那在setFilter的时候第一个参数定义的filter的名字不要变,只变动后面的过滤条件就可以啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

93

主题

313

帖子

630

积分

高级会员

Rank: 4

积分
630
QQ
 楼主| 发表于 2019-2-19 09:51:08 | 显示全部楼层
jishuang 发表于 2019-2-19 08:36
你要的不就是重写这个过滤条件吗?那在setFilter的时候第一个参数定义的filter的名字不要变,只变动后面的 ...

我还是没搞清楚你们这个数据的机制,第一步的时候scoreData的数据是0,但是Data.refreshData()后变成了两条,根据过滤条件确实是2条,这是什么情况啊

9D918A66-C11C-42b6-87B3-EDB51AC2566D.png 这两步,是不是每次refreshData()是在数据库里过滤,跟js代码中的过滤没有关系

data的设置 C1D22F06-BC8B-47d3-AA9F-773E86E8EB5E.png
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 03:38 , Processed in 0.078849 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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