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);
Global site tag (gtag.js) - Google Analytics