Migrating from RadComboBox Classic to ASP.NET AJAX version
RadComboBox for ASP.NET AJAX has changed because of evolving to the ASP.NET Ajax framework and Telerik.Web.UI suite. All of the client-side properties and methods' names have changed along with several server API changes. Some properties and methods have been completely removed, while new ones have been added.The control's client-side API is not backward-compatible with RadComboBox Classic version. All the changes included in the AJAX RadComboBox's client-side API are listed below:
Client-side API Changes
RadComboBox class
The tlrkComboBoxes array has been removed. The Telerik.Web.UI.RadComboBox.ComboBoxes should be used instead. For more details please refer to the Client-Side Basics article.
RadComboBox Classic | RadComboBox AJAX |
---|---|
Methods | |
HideDropDown | hideDropDown |
ToggleDropDown | toggleDropDown |
ShowDropDown | showDropDown |
Disable | disable |
Enable | enable |
FindItemByValue | findItemByValue |
FindItemByText | findItemByText |
GetText / SetText | get_text / set_text |
GetValue / SetValue | get_value / set_value |
RequestItems | requestItems |
ClearItems | clearItems |
ClearSelection | clearSelection |
ClientDataString | The ClientDataString property has been removed. The OnClientItemsRequesting event's event arguments should be used instead: |
function OnClientItemsRequesting(sender, eventArgs)
{
//get the context object
var context = eventArgs.get_context();
//set a value to the context object
context["FilterString"] = eventArgs.get_text();
}
Then, you can access the context object in the WebService method:
IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context;
string txt = contextDictionary["FilterString"].ToStrring();
You can also access the context object in the ItemsRequested event handler using the event arguments:
protected void RadComboBox1_ItemsRequested(object sender, RadComboBoxItemsRequestedEventArgs e)
{
string txt = e.Context["FilterString"].ToString();
}
RadComboBox Classic | RadComboBox AJAX |
---|---|
Properties | |
MoreResultsBoxID | get_moreResultsBoxElement()- returns the DOM element of the MoreResultsBox. |
MoreResultsMessageBoxID | get_moreResultsBoxMessageElement() - returns the DOM element of the MoreResultsBox element. |
DropDownVisible | get_DropDownVisible() |
ImageID | get_imageDomElement() - returns the DOM element of the drop arrow image. |
InputID | get_inputDomElement() - returns the DOM element of the input field. |
DropDownID | get_dropDownElement()- returns the DOM element of the drop-down area. |
Items | get_items() - returns an Items collection. |
Enabled | get_enabled() - returns true if the combobox is enabled, false otherwise. set_enabled(true) - enables the RadComboBox, set_enabled(false) - disables the RadComboBox. |
SelectedItem | get_selectedItem() / set_selectedItem(item) |
HighlightedItem | get_highlightedItem() / set_highlightedItem(item) |
RadComboBoxItem class
RadComboBoxItem Classic | RadComboBoxItem AJAX |
---|---|
Methods | |
Highlight | highlight |
UnHighlight | unHighlight |
Disable | disable |
Enable | enable |
Select | select |
SetAttribute | setAttribute |
Properties | |
Enabled | get_enabled() - returns true if the item is enabled, false otherwise. set_enabled(true) - enables an item, set_enabled(false) - disables an item. |
Index | get_index() |
ComboBox | get_combobox() |
Text | get_text() / set_text(string) |
Value | get_value() / set_value(string) |
RadComboBoxItemCollection class (new)
Member | Notes |
---|---|
Methods | |
add | Adds an item |
insert | Inserts an item |
remove | Removes an item |
clear | Clears the items |
getItem | Gets an item from the Items collection. |
indexOf | Returns the index of an item. |
removeAt | Removes an item at a specified index. |
get_count | Returns the count of the items. |
trackChanges | Indicates the beginning of client-side changes that are meant to be persisted on the server. |
commitChanges | Indicates the end of client-side changes that are meant to be persisted on the server. |
Server-side API changes
RadComboBox class
RadComboBox Classic | Notes |
---|---|
Properties | |
ContentFile | Removed: The LoadContentFile method should be used instead. |
ExternalCallbackPage | Removed: An external streamer page is no longer needed. The items' population of the RadComboBox should be done via WebService instead. |
IsCallBack | Removed: The Page.IsCallBack property should be used instead. |
Value | Removed: With the new RadComboBox for ASP.NET AJAX , the SelectedValue property is persisted on the server even when the items are loaded on demand. Therefore, the Value property is no longer needed. |
RadComboBoxItemsRequestedEventArgs.ClientDataString | Removed: The RadComboBoxItemsRequestedEventArgs.Context property should be used instead. It returns an object of type IDictionary . |
AfterClientCallBackError | Changed to OnClientItemsRequestFailed. |
Methods | |
GetXmlString | Changed to GetXml (inherited from ControlItemContainer class). |
LoadXmlString | Changed to LoadXml (inherited from ControlItemContainer class). |