日期:2014-05-16  浏览次数:20822 次

Extjs如何将json传到前台数据的某一字段提取出来
var store = new Ext.data.Store({
              proxy : new Ext.data.HttpProxy({  url : "_comm!listByPage.action"  }),
              reader : new Ext.data.JsonReader({
                totalProperty : 'total',
                 root : 'commlist',
successProperty : 'SUCCESS',
fields : [{ name : 'id',mapping : 'id' },
                          {name : 'class_id', mapping : 'class_id'}, 
                          {name : 'stuid', mapping : 'stuid'}),
        sortInfo : { field : 'class_id', direction : 'ASC' }
});
这样只能在var grid = new Ext.grid.EditorGridPanel中逐条显示,如何将其中一条的具体字段提取出来?
commlist字段过多,grid表格过长,现需要在弹出弹出框中查看单条信息
Ext?JS

------解决方案--------------------
要提取某一条信息的字段,首先得取出某一条信息,这个要了解store组件内部构造,
store组件相当于一个模拟的集合对象,里面的元素为record对象,当ajax请求完毕后,record对象里就会装载后台请求过来的一条条json数据。
所以当成功取出record对象后,要取出某一个字段的值就很容易了。
以下是2个取出record对象的方法,希望能帮到楼主。



,
listeners:{                                   //监听grid组件
'afterrender':function(g){                //组件渲染后,触发事件
//alert(g.getStore().data.items);     //方法1.获取整个数组对象,元素为record
g.getStore().each(function(record){   //方法2.遍历store,函数第一个参数为record,里面是json数据.
alert(record);
},this)
}
}