I have three rad listboxes with drag and drop feature. In each list box have Items with image associated to click event call a pupup window page. I have also added some attributes to each item. Eevrything works fine, only problem i am facing is when i drag and drop any item from one list box to another the dragged item is loosing its attributes and associated click event with it.
I tried comibination of several properties on listboxes control but no luck.
<
telerik:RadListBox ID="PageHierarchies" runat="server" Width="200px" Height="200px"
TransferToID="ColumnHierarchies" AllowReorder="true" AutoPostBackOnReorder="false"
AllowTransfer="true" AutoPostBackOnTransfer="false" EnableDragAndDrop="true"
AutoPostBack="false" OnClientDragging="DraggingItem" OnClientTransferred="ItemTransferrd" AllowAutomaticUpdates="true" EnableViewState="true" PersistClientChanges=true >
<ButtonSettings ShowReorder="false" ShowTransfer="false" ShowTransferAll="false" />
</telerik:RadListBox>
Javascipt code to add attributes (higlighted in italic bold)
<
script type="text/javascript">
//<![CDATA[
var columnHirachcy;
var rowHirachcy;
var pageHirachcy;
var dimname;
var dimID;
var infosetname;
var strParms;
function
pageLoad(sender)
{
var listboxItem;
var membersCount;
var items;
var objJson;
columnHirachcy = $find(
"<%= ColumnHierarchies.ClientID %>");
rowHirachcy = $find(
"<%= RowHierarchies.ClientID %>");
pageHirachcy = $find(
"<%= PageHierarchies.ClientID %>");
objJson=window.top.GetIFrame().document[
'report1_json'];
//Column Hiraarchy
infosetname=objJson[0].name;
var infosetObj = window.top.getInfoSetByName(infosetname);
for(axisIndex=0;axisIndex<=2;axisIndex++)
{
switch(axisIndex)
{
case 0:
items=columnHirachcy;
break;
case 1:
items=rowHirachcy;
break;
case 2:
items=pageHirachcy;
break;
}
var dimCollection = infosetObj['axis' + axisIndex];
for(i=0;i<dimCollection.length;i++)
{
dimID = dimCollection[i].uname;
dimName = dimCollection[i].name;
membersCount =window.top.getMembersCount(infosetname,dimName,axisIndex,i);
var listboxItem =new Telerik.Web.UI.RadListBoxItem();
listboxItem.set_text(dimName +
"[" + membersCount + "]");
listboxItem.set_value(dimID);
listboxItem.set_selected(
false);
listboxItem.set_imageUrl(
"../Images/Filter.gif");
items.trackChanges();
items.get_items().add(listboxItem);
items.getItem(i).get_imageElement().setAttribute(
"alt",dimName);
items.getItem(i).get_imageElement().setAttribute(
"infosetName",infosetname);
items.getItem(i).get_imageElement().setAttribute(
"dimName",dimName);
items.getItem(i).get_imageElement().setAttribute(
"dimID",dimID);
items.getItem(i).get_imageElement().setAttribute(
"PivotingMode","Full");
items.getItem(i).get_imageElement().setAttribute(
"Hirarchy",listboxItem);
items.getItem(i).get_imageElement().onclick=
function(){
window.top.openSelectorForPivoting(
this.getAttribute('infosetName'),this.getAttribute('dimName'),this.getAttribute('dimID'),this.getAttribute('PivotingMode'),this.getAttribute('Hirarchy'));
};
items.commitChanges();
}
}
return false;
}