I'm currently evaluating the TreeView for the following Scenario:
So I want to load only the root and the first sublevel of items and then lazy load items as nodes are expanded. My Questions:

@model List<Project.Models.VW_VisitasPorNumeroVisitas>@{ ViewBag.Title = "Index";}<h2>Visitas por Numero de Visitas</h2>@(Html.Telerik().Grid(Model) .Name("RadGrid1") .Sortable() .Filterable() .Pageable() .Footer(true) .NoRecordsTemplate("No hay registros") .Columns(columns => { columns.Bound(o => o.NumVisitas) .Title("Numero de Visitas") .Aggregate(agg => agg.Sum()) .FooterTemplate(@<text> Visitas Totales: <span >@item.Sum</span> </text>); columns.Bound(o => o.TotalVisitas) .Title("Cantidad de Visitas"); columns.Bound(o => o.NumVisitas) .Title("% Visitas"); }) )public ActionResult Index(){ var visitasPorNum = from a in db.VW_VisitasPorNumeroVisitas select a; return View(visitasPorNum.ToList());}<
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;
}

<table border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed; width: 100%;"> <tr> <td> <table border="0" cellpadding="0" cellspacing="0" style="table-layout: fixed; width: 100%;"> <tr> <td> <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="RadAjaxLoadingPanel1"> <telerik:RadGrid ID="CWGrid" runat="server" Width="100%" OnNeedDataSource="CWGrid_NeedDataSource"> </telerik:RadGrid> <telerik:RadContextMenu ID="cm" runat="server"> </telerik:RadContextMenu> <telerik:RadContextMenu ID="gcm" runat="server"> </telerik:RadContextMenu> </telerik:RadAjaxPanel> </td> </tr> </table> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </telerik:RadAjaxLoadingPanel> </td> </tr></table><telerik:RadWindowManager runat="server" ID="cwWinManager"> <Windows> <telerik:RadWindow ID="cwPrintWindow" runat="server" ShowContentDuringLoad="false" Width="800px" Height="600px" Behaviors="Default"> </telerik:RadWindow> </Windows></telerik:RadWindowManager>CWGrid.EnableEmbeddedScripts = false; RadAjaxPanel1.EnableEmbeddedScripts = false; RadAjaxLoadingPanel1.EnableEmbeddedScripts = false; cm.EnableEmbeddedScripts = false; gcm.EnableEmbeddedScripts = false; cwWinManager.EnableEmbeddedScripts = false; cwPrintWindow.EnableEmbeddedScripts = false;string telerikAssembly = typeof(RadGrid).Assembly.FullName; scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.Core.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.jQuery.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.jQueryPlugins.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Ajax.Ajax.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.ComboBox.RadComboBoxScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.Animation.AnimationScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.Navigation.NavigationScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Grid.RadGridScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.TouchScrollExtender.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Menu.RadMenuScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Filter.RadFilterScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Menu.ContextMenu.RadContextMenuScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Input.NumericTextBox.RadNumericInputScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Calendar.RadDatePicker.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Input.DateInput.RadDateInputScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Common.Popup.PopupScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Input.TextBox.RadInputScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Calendar.RadCalendarCommonScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Calendar.RadCalendarScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Calendar.RadDateTimePickerScript.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Calendar.RadPickersPopupDirectionEnumeration.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.ToolBar.RadToolBarScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Window.RadWindowScripts.js", telerikAssembly)); scriptManager.Scripts.Add(new ScriptReference("Telerik.Web.UI.Window.RadWindowManager.js", telerikAssembly));