Extjs grid 遍曆store,extjsgrid曆store
var projectMemberGrid = Ext.getCmp("projectMemberGrid");
var selFuns = [];
projectMemberGrid.store.each(function(rec){
selFuns.push(Ext.encode(rec.data));
});
Extjs中怎遍曆grid的資料(正在顯示的資料)
“也就是說顯示在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;i<len;i++){
var data = store.getAt(i).data;//data就是對應record的一個一個的對象
data.dataIndex //擷取的就是該對象dataIndex屬性對應的值
.........
}
這兩種說白了就是你真實想要什麼記錄的對象,要麼在sotre之前組織,要麼在遍曆之後組織!總之store所load的資料會一直被store持有著,你不remove也不reload,他就不會變!
ExtJS 一個grid對應多個store,該怎重新整理資料
Ext.getCmp('tasklist_grid').reconfigure(taskStore);
reconfigure 參數放入要重新綁定的store 就可以。此時store中的fields 匹配grid columns中的 dataIndex ,才正常顯示。