Extjs中如何遍历grid的数据(正在显示的数据)

2024-12-21 07:57:14
推荐回答(2个)
回答1:

“也就是说显示在grid的中的数据并不一定是store的数据”这句话是错误的!
你用store加载的数据,是经过Record解析的,也就是说,store装的就是record解析完的数组,而数组里的对象就是你record解析的对象。而你所说的,只是通过renderer方法,把store中的数据renderer后展现在grid上,而这个renderer是属于ColumnModel的,它只是用来做grid上的显示,而真正记录的数据只有sotre!
解决这个有两种方式:
1.你sotre加载数据之前,把该对象数组重新组织,组织成你真正想要的数据后再load!
2.遍历store的record记录,在遍历到你经过处理的dataIndex时,在按你的处理方式处理遍数据即可!
for(var i=0,len=store.data.length;ivar data = store.getAt(i).data;//data就是对应record的一个一个的对象
data.dataIndex //获取的就是该对象dataIndex属性对应的值
.........
}

这两种说白了就是你真实想要什么记录的对象,要么在sotre之前组织,要么在遍历之后组织!总之store所load的数据会一直被store持有着,你不remove也不reload,他就不会变!

回答2:

grid.getStore().each(function(record){
var value = record.get("field_name");
});