我有一个RadComboBox,其中包含大量项目,至少50K。
<telerik:radcombobox id="cbSupplier" runat="server" width="85%" enableitemcaching="true"
enableloadondemand="false" filter="Contains"
onclientkeypressing="HandleKeyPress">
</telerik:radcombobox>
<script type="text/javascript">
function HandleKeyPress(sender, e) {
if (!sender.get_dropDownVisible())
sender.showDropDown();
}
</script>
此javascript HandleKeyPress
函数正在组合框中搜索输入文本。问题是搜索速度很慢。看起来当我输入一个键时,浏览器会停止5到6秒,然后在组合框中搜索。
是否有任何解决方案可以在RadComboBox
?
答案 0 :(得分:2)
我认为您根本不需要JavaScript,如果您删除这些调用并让Telerik控件单独执行其内部功能,您可能会看到一个小的提升。我尝试了大约一千件物品,加上ShowDropDownOnTextboxClick="true"
:
<telerik:RadComboBox ID="cbSupplier" runat="server" width="85%"
EnableItemCaching="true" EnableLoadOnDemand="false" Filter="Contains"
ShowDropDownOnTextboxClick="true">
</telerik:radcombobox>
答案 1 :(得分:0)
如果必须搜索50K项目,那么它确实会很慢。它不是魔法 - 它必须检查每一个,直到它找到匹配。
此外,如果我看到一个包含超过500个条目的组合框的页面,我不会留下深刻的印象。如果组合有100或更多 - 更不用说50k - 我可能会离开网站。它不可用。
我建议你重新考虑你的页面设计。