2014-06-18 72 views
2

我有一個RadComboBox正在填充大量項目,至少50K。Telerik組合框OnClientKey按下搜索速度很慢

<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

我不認爲你需要JavaScript,如果你刪除這些調用並讓Telerik控件自行完成它的內部功能,你可能會看到小小的提升。我嘗試了大約1000個項目,並且通過添加ShowDropDownOnTextboxClick="true"似乎更快一些:

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

哇。非常感謝。 :) –

0

如果必須搜索50K項目,那麼它確實會很慢。這不是魔術 - 它必須檢查每一個,直到找到匹配。

另外,如果我有一個包含超過500個條目的組合框的頁面,我不會留下深刻的印象。如果組合有100或更多 - 更不用說50k了 - 我可能會離開該網站。這不可用。

我建議你重新考慮你的頁面設計。