I was told to add an undo button for the RadListBox that will track and then revert he changes a user makes. I have the code set up but I am getting undefined errors in dynmiac code when it is running through transferItem(). I am not entirely sure whats going wrong with it. If someone could look and give some advice that would be great.
var
UndoList =
new
Array();
function
onClientTransferring(sender, e) {
var
items = e.get_items();
for
(
var
i = 0; i < items.length; i++) {
var
item = items[i];
if
(item.get_text() !=
"Select"
|| item.get_value() !=
""
) {
UndoList.push(item);
UndoList.push(e.get_sourceListBox());
UndoList.push(e.get_destinationListBox());
}
}
}
function
undoChanges() {
if
(UndoList[UndoList.length - 1]._clientStateFieldID ==
"rlbStations_ClientState"
) {
var
listbox = $find(
'rlbStations'
);
}
else
if
(UndoList[UndoList.length - 1]._clientStateFieldID ==
"rlbAllowedStations_ClientState"
) {
var
listbox = $find(
'rlbAllowedStations'
);
}
listbox.transferItem(UndoList[UndoList.length - 3], UndoList[UndoList.length - 1], UndoList[UndoList.length - 2]);
}
<
telerik:RadListBox
ID
=
"rlbStations"
runat
=
"server"
AllowTransfer
=
"True"
TransferToID
=
"rlbAllowedStations"
Height
=
"200px"
Skin
=
"Web20"
SelectionMode
=
"Multiple"
Sort
=
"Ascending"
DataKeyField
=
"station_id"
AutoPostBackOnTransfer
=
"true"
Width
=
"250px"
OnClientTransferring
=
"onClientTransferring"
OnTransferred
=
"rlbStations_Transferred"
><
ButtonSettings
ShowDelete
=
"False"
ShowReorder
=
"False"
/> </
telerik:RadListBox
>
<
asp:Button
Text
=
"Undo"
runat
=
"server"
OnClientClick
=
"undoChanges()"
/><
telerik:RadListBox
ID
=
"rlbAllowedStations"
runat
=
"server"
Height
=
"200px"
Width
=
"250px"
Skin
=
"Web20"
> </
telerik:RadListBox
>