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

QQ登录

只需一步,快速开始

楼主: qweasdzxc

[处理中3] cData分页

[复制链接]

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2018-3-7 16:31:48 | 显示全部楼层
本帖最后由 qweasdzxc 于 2018-3-7 16:36 编辑
jishuang 发表于 2018-3-7 16:28
如果limit中设置的数据够一屏的显示就不会 触发多次

问题是我设置的limit数相同,并且够满屏或者不够一屏都有问题,向下滑刷新的时候会增加第一次查询的数据,向上滑会多加载第一次查询的数据
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-7 16:59:37 | 显示全部楼层
页面中会显示重复的数据?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2018-3-7 17:01:40 | 显示全部楼层
jishuang 发表于 2018-3-7 16:59
页面中会显示重复的数据?

向下滑重复的数据是第一次加载的数据,第一次向上滑的时候会显示重复的数据也是第一次加载的数据
麻烦远程看看
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-7 17:16:48 | 显示全部楼层
loadData方法中指定append为false时,当data组件offset 的值大于等于data.getTotal() 时,就不会触发加载下一页了!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2018-3-7 17:22:36 | 显示全部楼层
本帖最后由 qweasdzxc 于 2018-3-7 17:24 编辑
jishuang 发表于 2018-3-7 17:16
loadData方法中指定append为false时,当data组件offset 的值大于等于data.getTotal() 时,就不会触发加载下 ...

loadData方法中指定append为false时,list每次只会出现要查询的那页数据。
我的是向下滑(刷新data)会有重复数据,重复的数据是第一次加载的数据,第一次向上滑的时候(触发显示第二页)会显示重复的数据也是第一次加载的数据。
还是远程看看吧 QQ:381028124
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-7 17:26:00 | 显示全部楼层
把.w和js文件发一下
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2018-3-7 17:28:09 | 显示全部楼层
jishuang 发表于 2018-3-7 17:26
把.w和js文件发一下

如下

111.rar

3.89 KB, 下载次数: 96

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-7 17:31:50 | 显示全部楼层
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间反馈结果,谢谢!
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

506

主题

1631

帖子

3395

积分

论坛元老

Rank: 8Rank: 8

积分
3395
QQ
 楼主| 发表于 2018-3-7 17:52:54 | 显示全部楼层
jishuang 发表于 2018-3-7 17:31
你好楼主,这个问题需要我在本地环境进行问题重现,所以会花费较长时间,请你耐心等待,我完成后会第一时间 ...


这个是我的action
  1. public static Table getTask(String psmID,String sStatusID,String filter,Integer limit,Integer offset){
  2. System.out.println("psmID:"+psmID+" sStatusID:"+sStatusID+" filter:"+filter+" limit:"+limit+" offset:"+offset);
  3. Integer page;
  4. if(offset==0){
  5. page=1;
  6. }else{
  7. page=offset/limit;
  8. }
  9. //查询出本人未审核和已审核记录
  10. String sql1="SELECT a.sID as SID,a.sName AS sName,a.sProcess AS sProcess,a.sActivity AS sActivity,a.sActivityName AS sActivityName,a.sKindID AS sKindID,"+
  11. "a.sEURL AS sEURL,a.sStatusID AS sStatusID,a.sExecutorFID AS sExecutorFID,b.fid AS HR_emp_TransferApplyM,b.fTitle AS fTitle," +
  12. "b.fCreatePsnName AS fCreatePsnName,TO_CHAR (b.fCreateTime,'yyyy-mm-dd hh24:mi:ss') AS fCreateTime,b.fBizStateName AS fBizStateName " +
  13. "FROM hrsys.SA_Task a left join hrapp.HR_emp_TransferApplyM b ON a.sData1 = b.fid WHERE a.sExecutorPersonID = '"+ psmID +"' AND " +
  14. "a.sProcess = '/HR/employeeInfo/process/employeeTransferApply/employeeTransferApplyProcess' AND a.sStatusID = '"+ sStatusID +"' AND " +
  15. "a.sActivity <> 'businessActivity1' ORDER BY b.fCreateTime DESC,a.sActivity DESC";
  16. String sql2 = "SELECT s.* FROM (SELECT G .*, ROWNUM AS ROWNO FROM ("+sql1+") G WHERE ROWNUM <= "+Integer.toString(limit*page)+") s WHERE s.ROWNO > "+Integer.toString(limit*(page-1));
  17. System.out.println(sql2);
  18. Table table = SQL.select(sql2, null, "/HR/employeeInfo/data", null);
  19. //Table table =KSQL.select(ksql+ " limit " + Integer.toString(offset) + "," + Integer.toString(limit), null, "/system/data", null);
  20. //设置主键
  21. table.getProperties().put(Table.PROP_NAME_ROWID, "SID");
  22. //设置总记录数 , 计算分页
  23. Table tCount = SQL.select("select count(*) as cnt from ("+sql1+") c", null, "/HR/employeeInfo/data", null);
  24. BigDecimal num = tCount.iterator().next().getDecimal("CNT");
  25. table.getProperties().put(Table.PROP_DB_COUNT, num);
  26. return table;
  27. }
复制代码



回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-3-8 11:45:19 | 显示全部楼层
1.你的list设置的是默认加载,在model的onModelConstructDone事件中调用的方法中就调用了data的刷新,所以你的会执行多次
默认是执行两次的
2.用你的页面测试list显示的数据不会重复,如果重复应该是返回的数据有问题
可以把后端table的数据打出来

现在有一个问题就是第一次默认显示的是第二页的数据,把loadData中的false设置为true可以避免这个问题,只是分页数据是追加显示的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 12:29 , Processed in 0.059324 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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