store 有值为何为空?

kkk444dsfsa 2011-05-01 07:29:34
var sdzbm_Store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'data/dangan/GetSdzbm.aspx',
autoLoad: true,
method: 'post'
}),
reader: new Ext.data.JsonReader({
totalProperty: 'totalCount',
root: 'data'
}, ["id", "name"])
});

sdzbm_Store.load();

sdzbm_Store返回的值
{totalCount:9,success:true,error:"",singleInfo:"",data:[{"id":"100","name":"厦门"},{"id":"102","name":"沈阳"},{"id":"108","name":"安徽"},{"id":"109","name":"杭州"},{"id":"110","name":"宁波"},{"id":"111","name":"漳州"},{"id":"112","name":"晋江"},{"id":"113","name":"北京"},{"id":"114","name":"北京"}]}

{
header: "送达站",
tooltip: "送达站",
width: 60,
dataIndex: "sdzbm",
sortable: true,
renderer: function(value, meta, record, rowIndex, colIndex, store) {
if (value < 1) {
return "";
}
else {
debugger
return "<b><font color=#008B8B>" + sdzbm_Store.getAt(value - 1).data.name + "</font></b>";//为何这句老是提示为空或不是对象
}
}
},
...全文
333 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
likeajin 2011-05-02
  • 打赏
  • 举报
回复
原因估计是因为你的ID都是数字,那么sdzbm_Store.getAt(value - 1).data.name就可以获取到数据,可能恰好数据又是对应的。个人建议你好好查阅API,看看renderer函数的参数到底是什么,还有store.getAt()函数需要什么参数。
注:store.getAt(param)函数的参数是一个数字,返回下标为param的record。
renderer配置时传递到函数中的第一个参数是当前的值。比如你的代码中,name列的渲染函数,那么每一行传递到该列的渲染函数的第一个参数就是改行的name值,'厦门','沈阳',……
汉尼拔 2011-05-02
  • 打赏
  • 举报
回复
[Quote=引用楼主 twtxrjso 的回复:]
var sdzbm_Store = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({
url: 'data/dangan/GetSdzbm.aspx',
autoLoad: true,
method: 'post'
}),
……
[/Quote]

+++
kkk444dsfsa 2011-05-01
  • 打赏
  • 举报
回复
不是啊 我前面所有的保存id的字段都是怎么获取值
为何只有这个不行呢?
likeajin 2011-05-01
  • 打赏
  • 举报
回复

renderer: function(value, meta, record, rowIndex, colIndex, store) {
if (value < 1) {
return "";
}
else {
debugger
return "<b><font color=#008B8B>" + sdzbm_Store.getAt(value - 1).data.name + "</font></b>";//为何这句老是提示为空或不是对象
}
}

renderer函数中,value参数是只当前值,而不是当前的记录下标,sdzbm_Store.getAt(value - 1)肯定是获取不到值的,试试改为:

renderer: function(value, meta, record, rowIndex, colIndex, store) {
if (value < 1) {
return "";
}
else {
debugger
return "<b><font color=#008B8B>" + record.get('name') + "</font></b>";//为何这句老是提示为空或不是对象
}
}

87,910

社区成员

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

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