Hi,
I have a bit of javascript to populate my RadListBox from WebService when the page is displayed for the first time. Based on some properties in the returned data I want to add imageUrl and/or cssClass to the RadListBoxItems i create. This is what I've come up with:
-aspx:
<telerik:RadListBox ID="_rlbBrokers" runat="server" Skin="Default" PersistClientChanges="true" |
SelectionMode="Multiple" height="200" /> |
-javascript:
refreshBrokers: function() { |
var me = this; |
var brokersList = me.get_brokersList(); |
this.clearBrokers(); |
this.clearWarehouses(); |
Ewita.WebServices.WarehousesService.GetBrokerItems(this._get_includedBrokerTypes(), this._get_includedWarehouseTypes(), this._permission, this._selectionMode, function(result) { |
var brokersList = me.get_brokersList(); |
var items = brokersList.get_items(); |
brokersList.trackChanges(); |
var selected = false; |
for (var i = 0; i < result.length; ++i) { |
var broker = result[i]; |
var brokerItem = new Telerik.Web.UI.RadListBoxItem(); |
brokerItem.set_text(broker.Name); |
brokerItem.set_value(broker.ID); |
items.add(brokerItem); |
if (broker.IsSelected) { |
brokerItem.select(); |
selected = true; |
} |
var li = brokerItem.get_element(); |
if (!broker.IsUserPermitted && !broker.IsActive) { |
brokerItem.set_imageUrl("/images/inactive_not_permitted.jpg"); |
Sys.UI.DomElement.addCssClass(li, "inactive_not_permitted"); |
} |
else if (!broker.IsActive) { |
brokerItem.set_imageUrl("/images/inactive.jpg"); |
Sys.UI.DomElement.addCssClass(li, "inactive"); |
} |
else if (!broker.IsUserPermitted) { |
brokerItem.set_imageUrl("/images/not_permitted.jpg"); |
Sys.UI.DomElement.addCssClass(li, "not_permitted"); |
} |
} |
brokersList.commitChanges(); |
if (selected) { |
me._brokersSelect(); |
} |
}); |
}, |
It all works perfect until I click a button which causes a postback. I've set PersistClientChanges to true and items, and items selection is preserved, but any css class and image url set in javascript disappears.
Is there a way to get around this problem?
I'm using Telerik Controls for ASP.NET AJAX v.2009.2.906.20 (tested also on v.2009.02.826.35), Opera 10.0 browser, .NET Framework 3.5 and Visual Studio 2008.
Thanks in advance.
regards
Paweł Aszklar