代码如下:
Ext.onReady(function() {
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'db.jsp'}),
reader: new Ext.data.JsonReader({
root: 'root1',
totalProperty: 'total'},
[ {name: 'id',type: 'int'},
{name: 'name'},
{name: 'descn'}])
});
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
sm,
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);
var grid = new Ext.grid.GridPanel({
el: 'table',
ds: ds,
cm: cm,
viewConfig: {
forceFit: true
},
title: 'My First Grid',
sm:sm,
width: 600,
height:380,
loadMask: true,
frame: true,
bbar: new Ext.PagingToolbar({
pageSize: 10,
store: ds,
displayInfo: true,
displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg: "没有记录"
})
})
ds.load({params:{start:0,limit:10}});
grid.render();
});
json传的数据如下:
{total:100,root1:[
{id:0,name:'name0',descn:'descn0'},
{id:1,name:'name1',descn:'descn1'},
{id:2,name:'name2',descn:'descn2'},
{id:3,name:'name3',descn:'descn3'},
{id:4,name:'name4',descn:'descn4'},
{id:5,name:'name5',descn:'descn5'},
{id:6,name:'name6',descn:'descn6'},
{id:7,name:'name7',descn:'descn7'},
{id:8,name:'name8',descn:'descn8'},
{id:9,name:'name9',descn:'descn9'}
]}
jsp代码如下:
<% @ page contentType = " text/html; charset=gbk " %>
<%
String start = request.getParameter( " start " );
String limit = request.getParameter( " limit " );
try {
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
String json = " {totalProperty:50,root1:[ " ;
for ( int i = index; i < pageSize + index; i ++ ) {
if (i % 2 == 0 ){
json += " {id: " + i + " ,sex:'male " + " ',name:'name " + i + " ',descn:'descn " + i + " '} " ;
} else {
json += " {id: " + i + " ,sex:'female " + " ',name:'name " + i + " ',descn:'descn " + i + " '} " ;
}
if (i != pageSize + index - 1 ) {
json += " , " ;
}
}
json += " ]} " ;
response.getWriter().write(json);
} catch (Exception ex) {
}
%>