Dear Team,
I'm displaying hierarchical data using Treeview. We need to change the datasource of treeview dynamically based on user input. I'm using the below code do achieve the functionality:
In ASPX:
function LoadTreeView(projectid) { var ajaxManager = $find("<%= RadAjaxManagerforGrid.ClientID %>"); ajaxManager.ajaxRequest("treeview_databind," + projectid); }
In Code behind:
protected void RadAjaxManagerforGrid_AjaxRequest(object sender, AjaxRequestEventArgs e) { string[] arguments = e.Argument.Split(','); if (arguments[0] == "search") { string _search = arguments[1]; int result = BindProjectData(false, _search); if (result == 0) { Label lblEmptyMessage = RadListView1.Controls[0].FindControl("lblmessage") as Label; lblEmptyMessage.Text = "No records to display."; } } else if(arguments[0] == "treeview_databind") { int? folderId = Convert.ToInt32(arguments[1]); BindFolderTreeViewData(folderId); hdnSelectedFolderId.Value = arguments[1]; ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "alertScript", "$('#video-move').modal('show');", true); } }
BindFolderTreeViewData() Method:
protected void BindFolderTreeViewData(int? folderId) { if(folderId!=null) { RadTreeFolders.Nodes.Clear(); List<Folder> lst = DomainDAL.GetFolderHierarchy(folderId); RadTreeFolders.DataSource = lst; RadTreeFolders.DataFieldID = "FolderID"; RadTreeFolders.DataFieldParentID = "ParentFolderID"; RadTreeFolders.DataValueField = "FolderID"; RadTreeFolders.DataTextField = "FolderName"; RadTreeFolders.DataBind(); }
Treeview is not getting refreshed/not displaying any data. Can you please help
Thanks,
Phani
