Extjs Grid加載速度慢

純作備忘

除去本blog上篇轉載的關於gridpanel加載數據慢的原因,這兩天碰到另一種導致grid速度加載慢的問題。當數據只有10條以內,基本沒感覺,但數據每增加幾條,渲染時所需要的時間能明顯感覺增加。經過一翻掙扎,原來在store的load事件中有兩個金額字段的計算。去除後,速度恢復正常。

------------傳說中的分割線------------

若要不分頁顯示大數據量grid,應儘量配合Ext.ux.grid.BufferView使用。數據越量越多,對比不使用BufferView的grid加載速度差異就越明顯。

若需要在grid中做計算,在renderer中實現,效果跟沒有計算差不多(200條數據以內測試正常)
在renderer中計算,效果應該會好很多,如:

{//這種虛擬字段不需要設置dataIndex
header: "金額",
width: 100,
renderer: function(data, cell, record, rowIndex, columnIndex, store){
return Ext.util.Format.number((record.get("buyerQty") * record.get("buyerPrice")), "0.00");
}
},



教訓:
[b]1.儘量少在gridPanel中計算數據,尤其是store的load事件中,嚴重影響渲染速度[/b]
2.儘量減少對store的寫操作,尤其是在數據加載的時候(說白了還是第1點。廢話了。)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章