在项目中,grid要求不使用分页,大概最多的情况会有两百条数据左右,加上隐藏的grid有七,八列左右。后台的取数据已经优化了。现在速度慢在前台的渲染。
请问高手ext grid的速度可以在哪些方面进行,谢谢指点。
[b]问题补充:[/b]
感谢大家的帮助。
To lovewhzlq:因为需求要一次展示所有的数据,所以不能使用livegrid的异步加载功能了。现在使用的是多次请求后台,分批进行绘制,但是这样就要多次请求后台,开销比较大。我想实现这种效果http://lifesinger.googlecode.com/svn/trunk/lab/2009/array-processing.html。但是没有想到怎么和ext结合。
To 蔡华江:因为我要使用ext grid的列排序,列选择,和filter功能,这好像就没法自己进行绘制了吧
To jim.jin:是不是使用WorkerPool模块, 能不能给我一个gears 和 grid相结合的例子,先谢谢了。
[b]问题补充:[/b]
To jim.jin:谢谢这个例子 :D 。这是个好方法。但是我觉得用localServer应该只可以提升首次的访问速度吧,因为浏览器也是有缓存的,就算不使用localServer,多次访问,也是从缓存中取静态资源。不过我打算在项目中试试,缓存图片和Js。
200条用EXT提供的文档方法去做应该不是Grid问题(除非客户端机子太差),
Ext一般都慢在JS 加载,
加载问题可以用google gears http://gears.google.com/
你可以把数据分几步异步的加载嘛,不要一下子加载这么多数据嘛
不用分页的grid建议不使用extjs ,虽然有大堆的技术解决这个问题,如缓冲技术等,不过要求都挺复杂的。
直接用页面打印出来是最好的办法。
再次PS Extjs一句,我使用过extjs生成的页面光页面代码有90多K,还不包括加载的JS和CSS,最终使用CSS仿照地做了个,界面一模一样,代码才7K。。。
只有200条数据不会慢到无法忍受吧。
我做了一下测试,在ExtJS examples里有一个sliding-pager示例,我将测试的数据复制成2000条,在IE6中仍然有着较快的反应速度。
用 LocalServer 就够了 (200条,不至于用WorkerPool )
你可以看 http://www.cnblogs.com/beginor/archive/2009/03/21/1418582.html
固定Width长度
columns: [
{id:'company', header: "Company", width: 200
写错地方 Sorry.