Java Sencha GXT网格过滤器速度较慢。我能快点吗?

Java Sencha GXT网格过滤器速度较慢。我能快点吗?,java,gwt,extjs,gxt,Java,Gwt,Extjs,Gxt,我使用带有过滤器的GXT网格(确切地说是StoreFilterField)。 问题在于,当过滤器发生变化时(用户键入或清除某个内容),网格需要很长时间才能刷新 我有一个1000行7列的相对较小的网格。滚动效果很好,所以我相信浏览器能够快速处理它 看起来问题在于,当一个类型的过滤器文本方法Grid.refresh()被调用时,它会一次又一次地呈现所有行,并将它们作为一个巨大的HTML字符串插入 有没有办法提高效率?例如,我认为在现有html中隐藏包含未过滤行集的元素会更快 另一种方法是以某种方式缓

我使用带有过滤器的GXT网格(确切地说是StoreFilterField)。 问题在于,当过滤器发生变化时(用户键入或清除某个内容),网格需要很长时间才能刷新

我有一个1000行7列的相对较小的网格。滚动效果很好,所以我相信浏览器能够快速处理它

看起来问题在于,当一个类型的过滤器文本方法Grid.refresh()被调用时,它会一次又一次地呈现所有行,并将它们作为一个巨大的HTML字符串插入

有没有办法提高效率?例如,我认为在现有html中隐藏包含未过滤行集的元素会更快

另一种方法是以某种方式缓存或延迟网格中组件的创建,但我在GXT网格API中找不到任何行缓存功能。也许我忽略了


非常感谢您的帮助。

缓存功能不是在
网格
API本身中找到的,而是在
网格视图
中找到的。栅格具有可以设置的视图属性

您使用的是什么版本的GXT?在GXT 2.x中,有一个名为
BufferView
的视图变量

从文件:

在滚动到视图中时渲染行。此GridView一次显示多行的速度很快,但它不支持普通{link@GridView}支持的所有功能,例如扩展行

如果您使用的是GXT 3.x,则可能必须改用
LiveGridView
,因为它们已删除
BufferView

从中,您可以指定缓存大小、滚动延迟等

我希望这有帮助

  • 保罗

谢谢您的回答。我最终使用了带有本地定制缓存存储的LiveGridView,因此它不会每次都进入服务器,将所有数据保存在客户端上,而是利用了LiveGridView在同一时间渲染的有限单元格数。