Telerik ComboBox OnClientKeyPressing搜索速度很慢

时间:2014-06-18 06:27:42

标签: c# javascript asp.net .net telerik

我有一个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

中加快搜索速度

2 个答案:

答案 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 - 我可能会离开网站。它不可用。

我建议你重新考虑你的页面设计。