向gwt添加更多按钮Suggest Box

问题描述:

我有一个gwt建议框,它执行RPC调用以从服务器获取一些数据并显示它。在某些情况下,有多达2000个结果。虽然这可以在Firefox中运行JavaScript时正常工作,但它会将窗口冻结5秒,并且有时会导致脚本无法响应警告。向gwt添加更多按钮Suggest Box

我想要做的就是显示20个结果,并有一个更多的按钮,可以追加下20个按钮,而无需每次点击时都回拨到服务器。我对此很新,我试图扩展promptBox和覆盖showSuggestions(),但它是受保护的,所以我不能。

任何建议/想法会很好。

干杯, 罗布

+0

您应该查看http://code.google.com/p/advanced-suggest-select-box/您需要的所有内容 – 2011-07-21 13:43:29

this question关于如何扩展GWT的SuggestBox指针 - 基本上,你要提供自己的SuggestOracle(它用于取回建议),也许你的文本框(见我前面提到的问题的链接),最有可能的自定义SuggestBox.SuggestionDisplay。这三个通过构造函数传递给SuggestBox。请参阅现有的默认实现(MultiWordSuggestOracle,SuggestBox.DefaultSuggestionDisplay)以获得一些想法:)

+0

感谢伊戈尔,我在最后实现了一个自定义的SuggestBox.SuggestionDisplay,并将它传递给Suggestion构造函数。发挥魅力。意味着我可以限制循环的次数,以便firefox不再尝试! :) – Rob 2011-01-24 16:49:03

如果你想改变SuggestBox的源代码见this 你应该在你的src根目录中创建com.google.gwt.user.client.ui packeges和复制有SuggestBox.java。当您使用SuggestBox时,它会调用您的src中的SuggestBox。
检查this也可以是有用的太

首先解决想到的是,写自己的小部件,从SuggestBox延伸,第二个解决方案可能改变suggestbox的默认CSS参数

.gwt-SuggestBox { 
} 
.gwt-SuggestBoxPopup { 
} 
.gwt-SuggestBoxPopup .item { 
} 
.gwt-SuggestBoxPopup .item-selected { 
} 
.gwt-SuggestBoxPopup .suggestPopupContent { 
}