yellowoneone 2009-09-11 03:12
浏览 259
已采纳

Ext grid分页的问题

因为我的数据形式是二维数据,所以我用simpleStore+ArrayReader可以很方便的显示出来,可是分页不好使,PagingToolbar 的页数总显示为NAN.
如果我把数据形式变成这样[code="java"]{
totalProperty :99,
items:[
[],[],[],[]
]
}[/code]
用jsonStore能读取出来吗?
[b]问题补充:[/b]
PagingToolbar是后台分页. ?
不太明白....
[b]问题补充:[/b]
atian25 (架构师)  我明白你的意思了,simpleStore就没办法设置totalProperty的值了吗?晕了.
[b]问题补充:[/b]
还有如果用jsonstore的话,那如果他的items是一个二维数组,直接用ArrayReader能解析出来吗?

  • 写回答

4条回答 默认 最新

  • sno2wolf 2009-09-13 13:08
    关注

    要想grid能够分页,就不能使用Ext.data.SimpleStore。因为分页需要调用store的load()函数,而load函数与porxy有关。SimpleStore不但没有设置proxy,而且也没有重写load()函数,所以不能用SimpleStore。

    再有,要明白,combo分页需要的数据是combo中的store提供的
    var store = new Ext.data.Store({
    proxy: new Ext.data.HttpProxy({url: ''})//store提交的地址
    reader: new Ext.data.JsonReader({
    totalProperty: 'totalCount',

    //得到共有多少条条记录,是从后台返回的
    root: 'result'
    //得到记录集合,需是json格式的,也是从后台返回的
    }, DepartmentRecord)
    });

    var grid = new Ext.grid.GridPanel({
        title: '...',
        autoHeight: true,
        store: store,
        cm: cm,
        sm: sm,
        viewConfig: {  
            forceFit: true ////表格会自动延展每列的长度,使内容填满整个表格
        },
        bbar: new Ext.PagingToolbar({
            pageSize: 20,               //每页显示20条记录
            store: store,
            displayInfo: true,
            displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
            emptyMsg: "没有记录"
        })
    });
    

    在后台你只需要得到start,limit
    String start = request.getParameter("start");
    String limit = request.getParameter("limit");
    然后将start,limit转换成int,再放到sql语句里就行了,你无需处理start,limit,因为grid,已帮你处理了
    还有,返回的数据格式一定要正确,这样就行了
    good luck to you

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部