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

QQ登录

只需一步,快速开始

查看: 3252|回复: 10

[结贴] 普通data能使用pagerBar吗?

[复制链接]

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
发表于 2018-11-2 17:06:01 | 显示全部楼层 |阅读模式
如题!普通data的值是从后台的table返回。用pageBar绑定普通data,不会显示分页信息。我现在用了两个按钮来实现翻页,但是没法达到pageBar控件那种效果,请问有什么办法吗?
你不向前奔跑,没有人愿意停下来等你!
发表于 2018-11-5 09:27:12 | 显示全部楼层
参考
http://docs.wex5.com/wex5-ui-question-list-2028/

需要设置 limit 和  总记录数即可
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2018-11-5 10:37:14 | 显示全部楼层
liangyongfei 发表于 2018-11-5 09:27
参考
http://docs.wex5.com/wex5-ui-question-list-2028/

抱歉,不是WeX5,是BeX5的
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

发表于 2018-11-5 10:39:06 | 显示全部楼层
hua_love2011 发表于 2018-11-5 10:37
抱歉,不是WeX5,是BeX5的

也是一样的,只要给data指定limit offset  和 count  总记录数
pageBar 自己就能算出来当前要加载第几页了
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2018-11-5 13:51:20 | 显示全部楼层
liangyongfei 发表于 2018-11-5 10:39
也是一样的,只要给data指定limit offset  和 count  总记录数
pageBar 自己就能算出来当前要加载第几页 ...

我按照http://docs.wex5.com/bex5-ui-question-list-10117/ 的方法操作不行,数据能出来,但是pageBar还是不行。不知道是那块漏了还是自己做的不对,麻烦帮忙再看看。谢谢

这是后台代码:
String sql = "SELECT * FROM(SELECT T.*,ROWNUM RN FROM(SELECT A.ID,A.DWGBH,A.DWGMC,A.TJBH,TO_CHAR(C_TIME,'YYYY-MM-DD HH24:MI') C_TIME,A.TJID,A.VER FROM ENTITY_INDEX A WHERE A.ST=1 AND A.USED=1 AND A.VER=0) T WHERE ROWNUM<=" + limit * offset + ") WHERE RN>" + limit * (offset - 1) + " ORDER BY DWGMC ASC";

Table table = selectInfoBySql(sql);

String countSql = "SELECT COUNT(*) CNT FROM ENTITY_INDEX A WHERE A.ST=1 AND A.USED=1 AND A.VER=0";
// 设置总记录数 , 计算分页
Table tCount = selectInfoBySql(countSql);
BigDecimal num = tCount.iterator().next().getDecimal("CNT");
table.getProperties().put(Table.PROP_DB_COUNT, num);
return table;

前台代码:
Model.prototype.mainDataCustomRefresh = function(event) {
        var tjData = this.comp("tjData");
        var tzmc = $.trim(tjData.getValue("tzmc"));

        var param = new biz.Request.ActionParam();
        param.setString("tzmc", tzmc);//图纸名称
        param.setInteger("limit", limit);//默认为20
        param.setInteger("offset", offset);//默认为1

        var mainData = this.comp("mainData");
        var grid1 = this.comp("grid1");// 获取展现数据的grid组件

        biz.Request.sendBizRequest({
                action : "selectGraphInfoAction",
                context : this.getContext(),
                dataType : "json",
                parameters : param,
                callback : function(result) {
                        if (result.state) {
                                mainData.loadData(result.response, false);//把返回的数据给data
                                grid1.refresh();// 刺激grid显示数据
                        } else {
                                throw new Error("调用失败!|" + result.response.message);
                        }
                }
        });
};

你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

发表于 2018-11-5 13:58:28 | 显示全部楼层
hua_love2011 发表于 2018-11-5 13:51
我按照http://docs.wex5.com/bex5-ui-question-list-10117/ 的方法操作不行,数据能出来,但是pageBar还是 ...

执行完 loadData 方法后,你打印下
data.getTotal() 是多少??

设置的总行数是否生效了??
另外 代码中赋值offset ,你这个好像没写啊
var limit = data1.limit;//获取data的limit值
    var offset = data1.getOffset();//获取data当前的offset值
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2018-11-5 14:10:56 | 显示全部楼层
本帖最后由 hua_love2011 于 2018-11-5 14:13 编辑
liangyongfei 发表于 2018-11-5 13:58
执行完 loadData 方法后,你打印下
data.getTotal() 是多少??

var limit = mainData.limit;// 获取data的limit值
var offset = mainData.getOffset();// 获取data当前的offset值

我没加这两行代码时,能获取到总数,把这两行代码加上之后,limit能获取到值为20,但是offset获取到的是0,而且后台报空指针错误。难道我后台分页的写法有问题?我看您们给的案例是用ksql语法和limit实现,我用的sql语法
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

发表于 2018-11-5 14:20:50 | 显示全部楼层
hua_love2011 发表于 2018-11-5 14:10
var limit = mainData.limit;// 获取data的limit值
var offset = mainData.getOffset();// 获取data当前的 ...

后台 ,打断点调试一下,是什么变了为空呢??
执行这行代码时

param.setInteger("limit", limit);//默认为20
        param.setInteger("offset", offset);//默认为1

limit 和 offset 都正确吗??、如果offset 是 0 ,你改成1试试
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

170

主题

838

帖子

2136

积分

金牌会员

Rank: 6Rank: 6

积分
2136
QQ
 楼主| 发表于 2018-11-5 14:36:06 | 显示全部楼层
liangyongfei 发表于 2018-11-5 14:20
后台 ,打断点调试一下,是什么变了为空呢??
执行这行代码时

如果我将这两行代码注释(var limit = mainData.limit;var offset = mainData.getOffset();),limit和offset都取值正常,放开注释之后,第一次打印全是undefined,第二次打印是20~0。后来我把代码改成var limit = 20;var offset = 1;第一次打印全是undefined,第二次打印是20~1,但是pageBar还是不能用

var mainData = this.comp("mainData");
var grid1 = this.comp("grid1");// 获取展现数据的grid组件

alert("第一次打印:"+limit + " ~ " + offset);

var param = new biz.Request.ActionParam();
var limit = mainData.limit;// 获取data的limit值
var offset = mainData.getOffset();// 获取data当前的offset值


param.setString("tzmc", tzmc);
param.setInteger("limit", limit);
param.setInteger("offset", offset);

alert("第二次打印:"+limit + " ~ " + offset);

biz.Request.sendBizRequest({
        action : "selectGraphInfoAction",
        context : this.getContext(),
        dataType : "json",
        parameters : param,
        callback : function(result) {
                if (result.state) {
                        mainData.loadData(result.response, false);// 把返回的数据给data
                        grid1.refresh();// 刺激grid显示数据
                } else {
                        throw new Error("调用失败!|" + result.response.message);
                }
        }
});
你不向前奔跑,没有人愿意停下来等你!
回复 支持 反对

使用道具 举报

发表于 2018-11-5 14:41:41 | 显示全部楼层
hua_love2011 发表于 2018-11-5 14:36
如果我将这两行代码注释(var limit = mainData.limit;var offset = mainData.getOffset();),limit和off ...

那我远程看下吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-13 17:49 , Processed in 0.065943 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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