Ext.onReady(function() {
var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({ url: "GetQuestionList.aspx", method: 'GET' }),
reader: new Ext.data.JsonReader(
{ root: 'data', totalProperty: 'totalCount' },
[{ name: 'title', mapping: 'title' }, { name: 'type', mapping: 'type' }, { name: 'ct', mapping: 'ct' }, { name: 'state', mapping: 'state'}]
)
});
var pagingBar = new Ext.PagingToolbar({
pageSize: 5,
store: ds,
displayInfo: true,
displayMsg: 'Displaying topics {0} - {1} of {2}',
emptyMsg: "No topics to display"
});
var gv = new Ext.grid.GridPanel({
title: '问题列表',
el: 'divGvList',
width: 800,
height: 500,
autoScroll: true,
loadMask: { msg: '正在加载数据,请稍侯……' },
store: ds,
columns: [
new Ext.grid.RowNumberer(),
{ header: '标题', dataIndex: 'title', sortable: true },
{ header: '分类', dataIndex: 'type', sortable: true },
{ header: '时间', dataIndex: 'ct', sortable: true, renderer: Ext.util.Format.dateRenderer('Y.m.d') },
{ header: '回复状态', dataIndex: 'state', sortable: true }
],
bbar: pagingBar
});
gv.render();
ds.load({ params: { start: 0, limit: 5} });
});
这个GetQuestionList.aspx页面我单独用在ie地址栏输入GetQuestionList.aspx?start=0&limit=5,页面输出如下数据
{ 'data': [
{ 'title': '0_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '1_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '2_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '3_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '4_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '5_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '6_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '7_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '8_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true },
{ 'title': '9_标题', 'type': '分类', 'ct': '2009-7-3 11:49:58', 'state': true }
],
'totalCount': 10
}
不知道为什么就是显示不了数据,请大家帮忙看看到底问题出在哪了?
[b]问题补充:[/b]
我试了,还是不行
[b]问题补充:[/b]
郁闷,还是不行,不知道怎么回事
现在我加了alert(ds.getCount());,弹出的提示是0
是不是表示数据集中没有数据?
[b]问题补充:[/b]
都不是你们说的这些问题,我调试看了,可能是异步请求的问题
ds.load({
params: { start: 0, limit: 5 },
callback: function(r, options, success) {
alert(r.length);
if (success) {
alert(r.length);
} else { alert("加载数据失败,无对应数据或者系统出现异常!");}
}
});
我这样执行后,r.length总是0, success的值为false
有没有人知道是怎么回事
[b]问题补充:[/b]
问题解决了,GetQuestionList.aspx页面代码Response.Write(jsonStr);执行后还要加上 Response.Flush(); Response.Close();这两句代码,数据才能发送到客户端,那个回调函数success的值为true了,总算搞定了,不过还是要感谢各位帮忙!