【问题标题】:Telerik ComboBox OnClientKeyPressing searching is very slowTelerik ComboBox OnClientKeyPressing 搜索很慢
【发布时间】:2014-08-08 07:54:42
【问题描述】:

我有一个 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 中的搜索更快一些?

【问题讨论】:

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


    【解决方案1】:

    我认为您根本不需要 JavaScript,如果您删除这些调用并让 Telerik 控件自行执行其内部功能,您可能会看到轻微的提升。我尝试了大约 1000 个项目,添加 ShowDropDownOnTextboxClick="true" 似乎更快一些:

    <telerik:RadComboBox ID="cbSupplier" runat="server" width="85%" 
        EnableItemCaching="true" EnableLoadOnDemand="false" Filter="Contains"
        ShowDropDownOnTextboxClick="true">
    </telerik:radcombobox>
    

    【讨论】:

    • 哇。非常感谢。 :)
    【解决方案2】:

    如果它必须搜索 50K 项,那么它确实会很慢。这不是魔法 - 它必须检查每一个,直到找到匹配项。

    另外,如果我看到一个包含超过 500 个条目的组合框的页面,我不会留下深刻的印象。如果组合有 100 或更多 - 更不用说 50k - 我可能会离开该网站。无法使用。

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

    【讨论】:

      猜你喜欢
      • 2012-12-17
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      相关资源
      最近更新 更多