1

我正在使用带有过滤器的 GXT Grid(确切地说是 StoreFilterField)。问题在于,当过滤器更改(用户键入或清除它)时,Grid 需要很长时间才能刷新。

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

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

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

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

您的帮助将不胜感激。

4

1 回答 1

2

缓存功能不在GridAPI 本身中,而是在GridView. 网格有一个可以设置的视图属性。

你用的是什么版本的 GXT?在 GXT 2.x 中,有一个名为BufferView.

从文档:

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

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

由此,您可以指定缓存大小、滚动延迟等。

我希望这有帮助!

  • 保罗
于 2013-12-12T21:03:31.300 回答