gwt - 在 GWT ListBox 中处理大量数据

标签 gwt listbox gwt-platform

当我的 Presenter 被显示时,我必须进行 RPC 调用。该调用会导致包含大量数据的 String[]。但是这个电话非常非常慢。完成大约需要 1 分钟。

经过一些测试,我发现 ListBox.addItem() 占用了这个调用的 30% 以上。现在是在该 Widget 上添加 String 的大好时机。

我能做些什么来缩短这个时间?

假设我需要在 Presenter 显示时加载所有内容。

我已经做过的事情:

  • 将我的查询放在一个 View 中(不会影响太大)
  • 服务器读取一个 Txt 文件而不是调用 DB(最差然后是 View)。
  • 使用集合类 ArrayList、Vector...(Vector 减少了 5% 的时间)

我注意到 GWT 设计了一个 LightweightCollections改进客户端对集合的使用(这是我的下一步)。

但是我能对 ListBox 做些什么呢?

最佳答案

太多的选择是没有选择的。

您将无法调整 GWT Listbox/ValueListBox 以显示如此大量的数据(考虑到 20 秒,即 1 分钟的 30%,我猜测条目数为 1000)。 GWT 列表框用于选择。您不能指望用户看到 1000 个值、滚动然后选择。这是用户交互的噩梦

  1. 正确的方法是使用异步加载的 SuggestBox 来处理如此庞大的数据。借助 SuggestBox,您可以根据用户输入的键过滤和显示较少的数据作为选择。

  2. 如果使用 SuggestBox 不可行,您必须尝试在 Cell Widgets 中使用 CellList(它们可能会显示更好的性能)- https://developers.google.com/web-toolkit/doc/latest/DevGuideUiCellWidgets

  3. 我不确定,但试试 GWTChosen - http://jdramaix.github.com/gwtchosen/

关于gwt - 在 GWT ListBox 中处理大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13801640/

相关文章:

javascript - couchDB 的 GWT(或 javascript)库

css - 在 GWT 中将 css 与自己的类一起使用

html - 如何指定 html 单元格应具有显示其所有内容所需的最小宽度

javascript - 使列表框中的项目不可见

gwt - 在大型企业应用程序中使用 GWT

java - NoSuchMethodFound 错误 : dependency error in GWTP. ResourceDelegate 使用情况

maven - Vaadin:无法加载widgetset.nocache.js

javascript - 将表格从 JavaScript 转换为 Excel

vb.net - 更改列表框的颜色、突出显示、背景大小?

jQuery 下拉列表