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

QQ登录

只需一步,快速开始

查看: 5549|回复: 14

[结贴] Bex5 Data组件实现分页,并展示第一页数据

[复制链接]

96

主题

399

帖子

1335

积分

金牌会员

Rank: 6Rank: 6

积分
1335
QQ
发表于 2018-12-24 19:14:00 | 显示全部楼层 |阅读模式
Bex5 Data组件实现分页。按照论坛上说的,设置了sys.count  ,前端Data组件limit属性为20,sys.count=241.   之后loadData,第一页依然是显示全部数据
js代码:var mainData = this.comp("mainData");
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "queryWDProjectAction",
                        "parameters" : [],
                        "callback":function(result){
                                var res = result.response;
                                mainData.loadData(res);
                        }
                });

java 代码:
Table table = SQL.select(map, null, BKMODEL);
                table.getProperties().put(Table.PROP_NAME_ROWID, "PROGRAMID");
                table.getProperties().put(Table.PROP_DB_COUNT, table.size());
            Iterator<Row> rows = table.iterator();
            while (rows.hasNext()) {
                Row row = rows.next();
                row.setState(ModifyState.NEW);
            }
                return table;

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2018-12-25 09:23:50 | 显示全部楼层
把sql打出来看第一次执行的sql里面的分页参数是什么
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

96

主题

399

帖子

1335

积分

金牌会员

Rank: 6Rank: 6

积分
1335
QQ
 楼主| 发表于 2018-12-25 10:25:22 | 显示全部楼层
jishuang 发表于 2018-12-25 09:23
把sql打出来看第一次执行的sql里面的分页参数是什么

使用Oracle数据库,action如下“ QQ图片20181225102437.png
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2018-12-25 11:24:14 | 显示全部楼层
sql语句汇总要自己加上sql语句分页的实现啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

96

主题

399

帖子

1335

积分

金牌会员

Rank: 6Rank: 6

积分
1335
QQ
 楼主| 发表于 2018-12-25 11:59:56 | 显示全部楼层
jishuang 发表于 2018-12-25 11:24
sql语句汇总要自己加上sql语句分页的实现啊

什么意思,需要在 sql语句中写好分页吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2018-12-25 13:34:42 | 显示全部楼层
对啊,sql中没有分页查出来的还是所有数据啊
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

96

主题

399

帖子

1335

积分

金牌会员

Rank: 6Rank: 6

积分
1335
QQ
 楼主| 发表于 2018-12-25 15:55:31 | 显示全部楼层
jishuang 发表于 2018-12-25 13:34
对啊,sql中没有分页查出来的还是所有数据啊

之后修改了action,还是未能完成分页显示,java代码如下:
public static Table queryWDProject(Integer page, Integer pageCount) {
                int pageEnd = page * pageCount + 1;
                int pageStart = (page - 1) * pageCount;
                String sqlCount = "select b.ID,a.BUILDDATE,d.PROJECTNAME,c.PROGRAMNAME,b.SUBNAME,e.MAJORNAME,ROWNUM" + " from T_PRJ_ProgramSubProject_WD a "
                                + " left join T_SYS_SubProject_WD b on(b.ID=a.SubProjectID)" + " left join T_PRJ_Program_WD c on(c.ID=a.ProgramID)" + " left join T_PRJ_Project d on(d.ID=c.ProjectID)"
                                + " left join T_SYS_Major_WD e on(e.ID=c.majorid)";
                String sqlPage = "select * from ( select rownum as rn,p.* from " +
                                "(select b.ID,a.BUILDDATE,d.PROJECTNAME,c.PROGRAMNAME,b.SUBNAME, e.MAJORNAME from T_PRJ_ProgramSubProject_WD a"
                                + " left join T_SYS_SubProject_WD b on (b.ID = a.SubProjectID)"
                                + " left join T_PRJ_Program_WD c on (c.ID = a.ProgramID)"
                                + " left join T_PRJ_Project d on (d.ID = c.ProjectID)"
                                + " left join T_SYS_Major_WD e on (e.ID = c.majorid)) p"
                                + " where rownum<="+pageStart+") where rn > "+pageEnd;
                Map<String, String> map = new HashMap<String, String>();
                map.put(DatabaseProduct.DEFAULT.toString(), sqlCount);
                map.put(DatabaseProduct.ORACLE.toString(), sqlCount);
                map.put(DatabaseProduct.MSSQL.toString(), sqlCount);
                Table t = SQL.select(map, null, BKMODEL);
                Map<String, String> mt = new HashMap<String, String>();
                mt.put(DatabaseProduct.DEFAULT.toString(), sqlPage);
                mt.put(DatabaseProduct.ORACLE.toString(), sqlPage);
                mt.put(DatabaseProduct.MSSQL.toString(), sqlPage);
                System.out.println("pageTotal:"+t.size());
                Table table = SQL.select(mt, null, BKMODEL);
                table.getProperties().put(Table.PROP_DB_COUNT, t.size());
                return table;
        }
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2018-12-25 16:28:02 | 显示全部楼层
把sql输出看看sql中拼接的第一页的分页值正确吗?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

96

主题

399

帖子

1335

积分

金牌会员

Rank: 6Rank: 6

积分
1335
QQ
 楼主| 发表于 2018-12-25 17:12:50 | 显示全部楼层
jishuang 发表于 2018-12-25 16:28
把sql输出看看sql中拼接的第一页的分页值正确吗?

sql 语句在数据库中可以查询出正确数据,但是传回前端,table就为空了,不晓得为啥啊,js代码
Model.prototype.modelModelConstructDone = function(event){
                var mainData = this.comp("mainData");
                var param=new biz.Request.ActionParam();
                param.setInteger("page",1);
                param.setInteger("pageCount",mainData.limit);
                biz.Request.sendBizRequest({
                        "context" : this.getContext(),
                        "action" : "queryWDProjectAction",
                        "parameters" : param,
                        "callback":function(result){
                                debugger;
                                var res = result.response;
                                mainData.loadData(res);
                                mainData.refreshData();
                        }
                });
        };
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35910
发表于 2018-12-25 17:22:51 | 显示全部楼层
java中调试看table中的数据是否正确
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 08:29 , Processed in 0.083061 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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