So far I have been able to successfully dynamically load a radtreeview inside a radpanelbar. There are just 2 issues i'm facing now and hopefully someone could help me out.
Issue 1.
After a post back (control added to an ajaxmanager) generated from a radpanel item selected event, my radtreeview disappears.
Issue 2.
RadTreeView node click event does not fire.
I will paste brief segments of my code below.
Issue 1.
After a post back (control added to an ajaxmanager) generated from a radpanel item selected event, my radtreeview disappears.
Issue 2.
RadTreeView node click event does not fire.
I will paste brief segments of my code below.
ParentChildItems = function that returns a List<Child> object full of children...
foreach (Child child in ParentChildItems)
{
RadTreeView treeView = new RadTreeView();
RadPanelItem item = new RadPanelItem(child.Display);
RadPanelItem itemFolder = new RadPanelItem();
item.Value = child.ChildID;
List<
Object
> folders = new Child(General.DB).findAllFoldersByDrawer(child.ChildID);
if (folders.Count > 1)
{
treeView.ID = child.ChildID + "_tView";
treeView.NodeClick += new RadTreeViewEventHandler(treeView_NodeClick);
treeView.CheckChildNodes = true;
RadTreeNodeBinding binding = new RadTreeNodeBinding();
binding.Expanded = true;
treeView.DataBindings.Add(binding);
treeView.DataTextField = "Display";
treeView.DataFieldID = "ChildID";
treeView.DataValueField = "ChildID";
treeView.DataFieldParentID = "ChildChildID";
treeView.DataSource = folders;
treeView.ShowLineImages = true;
treeView.DataBind();
itemFolder.Controls.Add(treeView);
item.Items.Add(itemFolder);
}
pnlDrawers.Items.Add(item);
if (folders.Count > 1)
{
AjaxManager.AjaxSettings.AddAjaxSetting(AjaxManager, treeView, RadAjaxLoadingPanel1, UpdatePanelRenderMode.Inline);
AjaxManager.AjaxSettings.AddAjaxSetting(pnlDrawers, treeView, RadAjaxLoadingPanel1, UpdatePanelRenderMode.Inline);
AjaxManager.AjaxSettings.AddAjaxSetting(treeView, treeView, RadAjaxLoadingPanel1, UpdatePanelRenderMode.Inline);
}
}
public class Child
{
#region properties
public string ChildID { get; set; }
public string ParentID { get; set; }
public string ChildChildID { get; set; }
public string Label { get; set; }
public string FirstName { get; set; }
public string MName { get; set; }
public string Lastname { get; set; }
}