Hello,
I have a problem with the RadCombo and large lists. I've had a look at some other threads but they are quite old.
The combo is populated by AJAX and uses the checkbox item template found elsewhere in the forums. If I load 15,800 items in IE it takes 2 minutes before the browser is usable. The server time to generate the dataset is 3-4 seconds, there seems to be about 20s of other server time as noted by watching the server process in task manager the rest is IE running at 100% CPU. After this time when I click on the drop down I still have to wait 15 seconds for the drop to actually appear with content. Chrome is much faster, 1:15 rather than 2 minutes and almost instantaneous to get the drop down to appear. I also have a loading panel and the spinny (WebBlue) stops after 25 or so seconds, again presumably because the AJAX has finished and it's waiting for the browser to do whatever.
This is the combo:
<telerik:RadComboBox ID="str_name_campaign" runat="server" oncopy="return false;" |
onpaste="return false;" oncut="return false;" xonkeypress="return tabOnly(event)" |
onmousewheel="return false" OnClientDropDownOpening="OnClientDropDownOpening" |
OnClientDropDownClosing="OnClientDropDownClosing" OnClientSelectedIndexChanging="OnClientSelectedIndexChanging" |
OnClientBlur="OnClientBlur" Width="490px" AllowCustomText="True" ChangeTextOnKeyBoardNavigation="False" |
AutoCompleteSeparator=";" MarkFirstMatch="true" CssClass="cssradtextbox" DataTextField="str_item_name" |
DataValueField="str_item_code" EnableLoadOnDemand="false" OnClientLoad="OnClientLoad"> |
<ItemTemplate> |
<asp:CheckBox ID="CheckBox1" runat="server"/> |
</ItemTemplate> |
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
</telerik:RadComboBox> |
This is the server code:
Protected Sub str_name_campaign_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadComboBoxItemEventArgs) Handles str_name_campaign.ItemDataBound |
ComboItemBound(sender, e) |
End Sub |
Private Sub ComboItemBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.RadComboBoxItemEventArgs) |
'Add each combo checkbox to the Handler |
Dim objl_CHECKBOX As CheckBox |
objl_CHECKBOX = CType(e.Item.FindControl("CheckBox1"), CheckBox) |
objl_CHECKBOX.Attributes.Add("onclick", "checkboxClick('" & CType(sender, Telerik.Web.UI.RadComboBox).ClientID & "');") |
objl_CHECKBOX.Text = CType(e.Item.DataItem, Data.DataRowView).Item("str_item_name").ToString & " - " & CType(e.Item.DataItem, Data.DataRowView).Item("str_item_code").ToString |
End Sub |
If I comment out ItemDataBound, it is slightly faster, but only a few seconds. Getting the dropdown is 50% faster though albeit I have checkboxes and no text.
What can I do to speed this up? The client wants IE rather than Chrome, so that option is out. We are looking at additional filtering options but it could be quite legitimate for the client to want all 15,800 items in the list.
Ideally the combobox needs to be fully searchable (rather than just starts with) and multiple select with checkboxes, but I don't seem able to get all these options to work together.
Regards,
Mark Leavesley