I have implemented loading on demand for items at the "Child Node" level so it would automatically pull the sub-items when that node is expanded (using ServerSideCallBack) which works great. I have also implemented a context menu for each "Child Node" entry that has an "Add Category" option which adds a new item (at the Sub Node level) so a new entry can be added. This entire process works great and is surprisingly versatile.
The only issue I have is when the new item is added I want all the "Sub Node" entries for the parent "Child Node" item to be re-bound so the items appear in alphabetical order. I tried using the set_expanded() methods but it seems once a node has been expanded the items are cached and there isn't a way to forcefully tell it to go get the items again. Basically I'm looking for a client-side method call that tells the "Child Node" entry that it needs to go get a fresh copy of items once the adding process is complete.
Any idea on how to make this happen?
function rowContextMenu(sender, eventArgs) { var menu = $find("<%= menuDrivers.ClientID %>"); var evt = eventArgs.get_domEvent(); if (evt.target.tagName == "INPUT" || evt.target.tagName == "A") return; // Get trip ID + type from source row var index = eventArgs.get_itemIndexHierarchical(); var row = sender.Control.children[1].children[0].rows[parseInt(index)]; var rowElements = row.getElementsByTagName("input"); alert(sender); alert('Row index ' + index + ' clicked. Trip ID is ' + rowElements[0].value); // Store the trip ID and type in hidden fields $get("ContextTripID").value = rowElements[0].value; $get("ContextTripType").value = rowElements[1].value; // more code continues here ...}<%@ Page Language="VB" AutoEventWireup="false" CodeFile="akUITest.aspx.vb" Inherits="Testing_akUITest" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title></title></head><body> <form id="form1" runat="server"> <telerik:RadScriptManager ID="sm" runat="server"> </telerik:RadScriptManager> <div> <telerik:RadWindowManager ID="radWindowManager" runat="server"> <Windows> <telerik:RadWindow ID="radWindowEditor" runat="server" VisibleOnPageLoad="true"> <ContentTemplate> <telerik:RadEditor ID="radEditor" runat="server"> </telerik:RadEditor> </ContentTemplate> </telerik:RadWindow> </Windows> </telerik:RadWindowManager> </div> </form></body></html>