Extjs jsonreader 读到数据, 但是store.getCount()==0

zhouluok007 2012-05-15 09:01:38

var paramsStore = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url : 'goodparam.ered?method=queryGoodparamList'
}),
reader : new Ext.data.JsonReader({
totalProperty : 'TOTALCOUNT', // 记录总数
root : 'ROOT' // Json中的列表数据根节点
},[
{
name: 'id'
},
{
name: 'name'
}
])
})

paramsStore.load();
页面加载的时候, 后台打印出来
{TOTALCOUNT:3, ROOT:[{"id":"1","name":"cpu"},{"id":"2","name":"硬盘"},{"id":"3","name":"显卡"}]}

alert("有几条数据:"+paramsStore.getCount()); 页面弹出来为0

明明有3条数据, 不知道为什么 希望各位帮忙解决
...全文
636 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eks 2014-09-15
  • 打赏
  • 举报
回复
备注下原因:Store的load()为异步加载,paramsStore.load();后立即调用 getCount() ,有可能数据未加载完成,因此显示数量为0。
Monk0_0 2014-03-20
  • 打赏
  • 举报
回复
楼主怎么解决的,速救
flyerwing 2012-05-17
  • 打赏
  • 举报
回复
paramsStore.on("load",function(){
alert("有几条数据:"+paramsStore.getCount());
});
得试下很久没用了
碎碎兵 2012-05-17
  • 打赏
  • 举报
回复
后台打印出来那句,是否作为响应数据返回前台了?F12看看。
gouxiongyaya 2012-05-16
  • 打赏
  • 举报
回复

楼主是在哪alert("有几条数据:"+paramsStore.getCount()); 页面弹出来为0
你在gridpanel里直接这么写是不行的,你可以在事件中测试或者在grid里的render里测试
事件测试:
paramsStore.on('load',function(store, record, opts){
alert(paramsStore.getCount());
});
grid里的列测试:
{
header: '状态',
sortable: true,
dataIndex: 'STATUS',
width: 80,
renderer: (function(v, p, record, rowIndex, index, store){
alert(store.getCount());
}).createDelegate(this)
}
zhouluok007 2012-05-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

不会extjs。。。

感觉这句应该写在 回调函数里。
alert("有几条数据:"+paramsStore.getCount());
[/Quote]

不行哦, 得到的依然为0
001007009 2012-05-15
  • 打赏
  • 举报
回复
不会extjs。。。

感觉这句应该写在 回调函数里。
alert("有几条数据:"+paramsStore.getCount());

52,792

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧