gird大数据量的更新效率问题
atian25
2008-11-03
有个grid,需要定时ajax取数据,大概500行.
现在在ajax的响应函数里面用大概类似下面的方法更新 store.each(function(record){ var newData = jsonData.data[record.id]; record.set(dataIndex,newData.SuccessCount); record.commit(); }); 发现效率特别低,瓶颈应该是在布局器的渲染效率跟不上. 有什么快速更新grid的方法么? 或者是更新record的时候,让它不刷新grid先,最后再一次性刷新界面? |
|
elstage
2008-11-04
你的数据是不是也不用每条都更新啊?
|
|
atian25
2008-11-04
elstage 写道 你的数据是不是也不用每条都更新啊?
5列,只需要更新一列 不过这行有500+列 |
|
atian25
2008-11-04
问题定位了,
瓶颈主要在2个地方: 1.ajax取的json数据大概有600k,也就是500行*6列的数据,这个数据取回来只需要1s,但是解析为json object对象的时候,用了8s 2.store.add(record[]) 当record[].length为500时,耗时也比较大... 前者通过iframe搞定了. 后者有什么办法可以快速更新点不? 或者有啥办法可以更新store的某列数据(即record的某一个数据), 而不用每更新一条record的时候都触发render事件 |
|
atian25
2008-11-04
基本上知道怎么解决了..
自问自答了一天... http://extjs.com/learn/Ext_FAQ_Grid grid.suspendEvents(); grid.resumeEvents(); store.fireEvent("datachanged", store); |