ext JS 问题~在线等~!
一个小的例子,就是gridpanle在后台加载一个JSON字符串,前台数据就是不显示,但是GRID得分页功能能出来,(store)中有是有数据,数据在grid就是不显示,...
一个小的例子,就是gridpanle在后台加载一个JSON字符串,前台数据就是不显示,但是GRID得分页功能能出来,(store)中有是有数据,数据在grid就是不显示,有时候打断点数据就能出现,一直出现对象为定义,活着对象this.ds为定义,需要解决方法。
详细描述的都有分. 展开
详细描述的都有分. 展开
展开全部
Ext.onReady(function() {
var sm = new Ext.grid.CheckboxSelectionModel();
// 全选checkbox
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(), sm, {
header : '编号',
dataIndex : 'id',
sortable : true
}, {
header : '名称',
dataIndex : 'name'
}, {
header : '描述',
dataIndex : 'descn'
}]);
var ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'grid.jsp'
}),
reader : new Ext.data.JsonReader({
//autoLoad:true,自动加载数据,没有参数时可用
totalProperty : 'totalProperty',
root : 'root'
//successProperty : 'success'
}, [{
name : 'id',
mapping : 'id',
type : 'int'
}, {
name : 'name',
mapping : 'name',
type : 'string'
}, {
name : 'descn',
mapping : 'descn',
type : 'string'
}])
});
var grid = new Ext.grid.GridPanel({
title : 'GridPanel分页',
el : 'grid',
store : ds,
sm : sm,
cm : cm,
width : 350,
height : 300,
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : ds,
displayInfo : true,
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : "没有记录"
})
});
// el:指定html元素用于显示grid
grid.render();
ds.load({ //传参数,load数据
params : {
start : 0,
limit : 10
}
});
});
html页面中加:<div id="grid" style="width: 100%;height: 100%">
grid.jsp中
String start = request.getParameter("start");
String limit = request.getParameter("limit");
//System.out.println(start + " " + limit);
try {
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
String json = "{totalProperty:100,root:[";
for (int i = index; i < pageSize + index; i++) {
json += "{id:" + i + ",name:'name" + i + "',descn:'descn" + i + "'}";
if (i != pageSize + index - 1) {
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
System.out.println(json);
输出的json形式为:{totalProperty:100,root:[{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'}]}
希望对你有所帮助~~~
var sm = new Ext.grid.CheckboxSelectionModel();
// 全选checkbox
var cm = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(), sm, {
header : '编号',
dataIndex : 'id',
sortable : true
}, {
header : '名称',
dataIndex : 'name'
}, {
header : '描述',
dataIndex : 'descn'
}]);
var ds = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'grid.jsp'
}),
reader : new Ext.data.JsonReader({
//autoLoad:true,自动加载数据,没有参数时可用
totalProperty : 'totalProperty',
root : 'root'
//successProperty : 'success'
}, [{
name : 'id',
mapping : 'id',
type : 'int'
}, {
name : 'name',
mapping : 'name',
type : 'string'
}, {
name : 'descn',
mapping : 'descn',
type : 'string'
}])
});
var grid = new Ext.grid.GridPanel({
title : 'GridPanel分页',
el : 'grid',
store : ds,
sm : sm,
cm : cm,
width : 350,
height : 300,
bbar : new Ext.PagingToolbar({
pageSize : 10,
store : ds,
displayInfo : true,
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : "没有记录"
})
});
// el:指定html元素用于显示grid
grid.render();
ds.load({ //传参数,load数据
params : {
start : 0,
limit : 10
}
});
});
html页面中加:<div id="grid" style="width: 100%;height: 100%">
grid.jsp中
String start = request.getParameter("start");
String limit = request.getParameter("limit");
//System.out.println(start + " " + limit);
try {
int index = Integer.parseInt(start);
int pageSize = Integer.parseInt(limit);
String json = "{totalProperty:100,root:[";
for (int i = index; i < pageSize + index; i++) {
json += "{id:" + i + ",name:'name" + i + "',descn:'descn" + i + "'}";
if (i != pageSize + index - 1) {
json += ",";
}
}
json += "]}";
response.getWriter().write(json);
System.out.println(json);
输出的json形式为:{totalProperty:100,root:[{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'}]}
希望对你有所帮助~~~
展开全部
gridPanel的store属性你给他了吗?如果没给他那么就会出现this.ds未定义的错误。
如下:
var g = new Ext.grid.GridPanel({
//省略无关属性
store:new Ext.data.JsonStore({
fields : ['','',''],
url : "",
totalProperty : "",
root : "",
autoLoad : true
})
});
如下:
var g = new Ext.grid.GridPanel({
//省略无关属性
store:new Ext.data.JsonStore({
fields : ['','',''],
url : "",
totalProperty : "",
root : "",
autoLoad : true
})
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不知store,load没有,你不贴代码,没人能给你解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询