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