Hi all,
I have a radtreeview with radtreeviewcontextmenu.
When I right-click on node and select "delete" from contextmenu I got the following error message :
"Microsoft JScript run-time error: Sys.WebForms.PageRequestManagerServerErrorException: Index out of range...."
aspx:
<telerik:RadAjaxLoadingPanel ID="ralp" runat="server" />
<telerik:RadAjaxPanel ID="rap" runat="server" LoadingPanelID="ralp">
<telerik:RadTreeView ID="elenco" runat="server" Width="100%" Height="300px" CheckBoxes="True"
TriStateCheckBoxes="true"
CheckChildNodes="true"
EnableViewState="false"
AllowNodeEditing="false"
OnClientContextMenuItemClicking="onClientContextMenuItemClicking"
OnClientContextMenuShowing="onClientContextMenuShowing"
OnNodeEdit="elenco_NodeEdit"
EnableDragAndDrop="True"
OnClientNodeDropping="onNodeDropping"
OnClientNodeDragging="onNodeDragging"
MultipleSelect="true"
EnableDragAndDropBetweenNodes="true" PersistLoadOnDemandNodes="False">
<DataBindings><telerik:RadTreeNodeBinding Expanded="True"/></DataBindings>
</telerik:RadTreeView>
</telerik:RadAjaxPanel>
My client side function to manage context menu click :
function onClientContextMenuItemClicking(sender, args) {
var menuItem = args.get_menuItem();
var treeNode = args.get_node();
var treeView = $find("<%= elenco.ClientID %>");
var node = treeView.findNodeByText(args.get_node().get_text());
// menuItem.get_menu().hide();
switch (menuItem.get_value()) {
case "elimina":
var result = confirm("Si vuole cancellare la cartella: " + treeNode.get_text());
eventArgs.set_cancel(!result);
var allNodes = treeView.get_allNodes();
if (allNodes.length < 1) { alert("La struttura รจ vuota!"); return false; }
var selectedNode = treeView.get_selectedNode();
if (!selectedNode) { alert("Selezionare prima un elemento"); return false; }
if (allNodes.length == 1) {
if (!confirm("Si vuole davvero eliminare l'ultimo elemento presente?"))
return false; }
var selectedNode = treeView.get_selectedNode();
//alert(selectedNode.get_text());
treeView.trackChanges();
var parent = selectedNode.get_parent();
//alert(parent.get_text());
parent.get_nodes().remove(selectedNode);
treeView.commitChanges();
return false;
break; } }
What's wrong ?
I've tried to remove all drag'n'drop client side events (OnClientNodeDropping,OnClientNodeDragging) but same result
Diasbled ViewState , nothing to do..
Might you help me please ?
Thank you
Gabriele
I have a radtreeview with radtreeviewcontextmenu.
When I right-click on node and select "delete" from contextmenu I got the following error message :
"Microsoft JScript run-time error: Sys.WebForms.PageRequestManagerServerErrorException: Index out of range...."
aspx:
<telerik:RadAjaxLoadingPanel ID="ralp" runat="server" />
<telerik:RadAjaxPanel ID="rap" runat="server" LoadingPanelID="ralp">
<telerik:RadTreeView ID="elenco" runat="server" Width="100%" Height="300px" CheckBoxes="True"
TriStateCheckBoxes="true"
CheckChildNodes="true"
EnableViewState="false"
AllowNodeEditing="false"
OnClientContextMenuItemClicking="onClientContextMenuItemClicking"
OnClientContextMenuShowing="onClientContextMenuShowing"
OnNodeEdit="elenco_NodeEdit"
EnableDragAndDrop="True"
OnClientNodeDropping="onNodeDropping"
OnClientNodeDragging="onNodeDragging"
MultipleSelect="true"
EnableDragAndDropBetweenNodes="true" PersistLoadOnDemandNodes="False">
<DataBindings><telerik:RadTreeNodeBinding Expanded="True"/></DataBindings>
</telerik:RadTreeView>
</telerik:RadAjaxPanel>
My client side function to manage context menu click :
function onClientContextMenuItemClicking(sender, args) {
var menuItem = args.get_menuItem();
var treeNode = args.get_node();
var treeView = $find("<%= elenco.ClientID %>");
var node = treeView.findNodeByText(args.get_node().get_text());
// menuItem.get_menu().hide();
switch (menuItem.get_value()) {
case "elimina":
var result = confirm("Si vuole cancellare la cartella: " + treeNode.get_text());
eventArgs.set_cancel(!result);
var allNodes = treeView.get_allNodes();
if (allNodes.length < 1) { alert("La struttura รจ vuota!"); return false; }
var selectedNode = treeView.get_selectedNode();
if (!selectedNode) { alert("Selezionare prima un elemento"); return false; }
if (allNodes.length == 1) {
if (!confirm("Si vuole davvero eliminare l'ultimo elemento presente?"))
return false; }
var selectedNode = treeView.get_selectedNode();
//alert(selectedNode.get_text());
treeView.trackChanges();
var parent = selectedNode.get_parent();
//alert(parent.get_text());
parent.get_nodes().remove(selectedNode);
treeView.commitChanges();
return false;
break; } }
What's wrong ?
I've tried to remove all drag'n'drop client side events (OnClientNodeDropping,OnClientNodeDragging) but same result
Diasbled ViewState , nothing to do..
Might you help me please ?
Thank you
Gabriele