因为我的数据形式是二维数据,所以我用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本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报