im trying to update a radlistview control from an treenodepopulate event. when I click on the tree the event handler fires and tree node is expanded but the radlistview display is not updated and i'm trying to figure out why. I have create a single simple file that shows the issue i'm having. thanks
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html>
<
script
runat
=
"server"
>
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack) {
PopulateTopNodes();
}
}
private void PopulateTopNodes()
{
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("parent");
dt.Columns.Add("value");
dt.Columns.Add("haschild");
dt.Rows.Add(new object[] { 1, "C:", "Documents", "Yes" });
dt.Rows.Add(new object[] { 2, "D:", "Files", "No" });
foreach (DataRow row in dt.Rows)
{
string parent = row["value"].ToString();
TreeNode newNode = new TreeNode(row["value"].ToString(), parent);
newNode.PopulateOnDemand = true;
newNode.Expanded = false;
newNode.SelectAction = TreeNodeSelectAction.Expand;
TreeView1.Nodes.Add(newNode);
}
}
protected void TreeView1_TreeNodePopulate(object sender, TreeNodeEventArgs e)
{
if (e.Node.NavigateUrl == "")
{
DataTable dt = new DataTable();
dt.Columns.Add("id");
dt.Columns.Add("parent");
dt.Columns.Add("value");
dt.Columns.Add("haschild");
dt.Rows.Add(new object[] { 1, "Documents", "Music", "Yes" });
dt.Rows.Add(new object[] { 2, "Files", "Folder", "No" });
foreach (DataRow row in dt.Rows)
{
string parent = row["parent"].ToString() + @"\" + row["value"].ToString();
TreeNode newNode = new TreeNode(row["value"].ToString(), parent);
newNode.SelectAction = TreeNodeSelectAction.Select;
newNode.Expand();
newNode.NavigateUrl = "page2.aspx";
newNode.Expanded = true;
e.Node.ChildNodes.Add(newNode);
}
//Populate the RadListView
DataTable dt2 = new DataTable();
dt2.Columns.Add("file");
dt2.Columns.Add("size");
dt2.Rows.Add(new object[] { "file1.txt", "4kb" });
dt2.Rows.Add(new object[] { "anotherfile.log", "3mb" });
this.RadListView1.DataSource = dt2;
this.RadListView1.Rebind();
}
}
</
script
>
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
EnableTheming
=
"True"
>
</
telerik:RadScriptManager
>
<
telerik:RadSplitter
runat
=
"server"
ID
=
"RadSplitter1"
Orientation
=
"Vertical"
Width
=
"100%"
BorderWidth
=
"0"
BorderColor
=
"White"
Height
=
"760px"
BorderSize
=
"0"
>
<
telerik:RadPane
runat
=
"server"
ID
=
"MidPane"
Scrolling
=
"None"
Width
=
"49%"
>
<
telerik:RadTabStrip
ID
=
"RadTabStrip1"
ShowBaseLine
=
"True"
runat
=
"server"
MultiPageID
=
"RadMultiPage1"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
runat
=
"server"
Text
=
"Directory Tree"
PageViewID
=
"PageView1"
Font-Bold
=
"true"
ScrollChildren
=
"true"
Selected
=
"True"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"RadMultiPage1"
runat
=
"server"
SelectedIndex
=
"0"
Width
=
"99%"
>
<
telerik:RadPageView
ID
=
"PageView1"
runat
=
"server"
width
=
"100%"
height
=
"660px"
>
<
asp:TreeView
ID
=
"TreeView1"
runat
=
"server"
OnTreeNodePopulate
=
"TreeView1_TreeNodePopulate"
ImageSet
=
"XPFileExplorer"
NodeIndent
=
"15"
ShowLines
=
"false"
>
<
ParentNodeStyle
Font-Bold
=
"False"
/>
<
HoverNodeStyle
Font-Underline
=
"False"
ForeColor
=
"Black"
/>
<
SelectedNodeStyle
Font-Underline
=
"False"
Font-Names
=
"Tahoma"
Font-Size
=
"8pt"
ForeColor
=
"Black"
HorizontalPadding
=
"2px"
NodeSpacing
=
"0px"
VerticalPadding
=
"2px"
/>
<
NodeStyle
Font-Names
=
"Tahoma"
Font-Size
=
"8pt"
ForeColor
=
"Black"
HorizontalPadding
=
"2px"
NodeSpacing
=
"0px"
VerticalPadding
=
"2px"
/>
</
asp:TreeView
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
telerik:RadPane
>
<
telerik:RadPane
runat
=
"server"
ID
=
"RadPane1"
Scrolling
=
"None"
Width
=
"49%"
>
<
telerik:RadTabStrip
ID
=
"RadTabStrip2"
ShowBaseLine
=
"True"
runat
=
"server"
MultiPageID
=
"RadMultiPage1"
Skin
=
"Office2007"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
runat
=
"server"
Text
=
"Details"
PageViewID
=
"PageView1"
Font-Bold
=
"true"
ScrollChildren
=
"true"
Selected
=
"True"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
ID
=
"RadMultiPage2"
runat
=
"server"
SelectedIndex
=
"0"
Width
=
"99%"
>
<
telerik:RadPageView
ID
=
"RadPageView1"
runat
=
"server"
width
=
"100%"
height
=
"660px"
>
<
telerik:RadListView
ID
=
"RadListView1"
runat
=
"server"
AllowPaging
=
"false"
ItemPlaceholderID
=
"itemPlaceholder"
>
<
LayoutTemplate
>
<
table
style
=
"width: 730px; background-color: #D9DFDF;"
>
<
tr
>
<
th
id
=
"Th1"
runat
=
"server"
>
Name
</
th
>
<
th
id
=
"Th2"
runat
=
"server"
>
Size
</
th
>
</
tr
>
<
tr
runat
=
"server"
id
=
"itemPlaceholder"
/>
</
table
>
</
LayoutTemplate
>
<
EmptyDataTemplate
>
No files in this folder.
</
EmptyDataTemplate
>
<
ItemTemplate
>
<
tr
id
=
"Tr2"
runat
=
"server"
>
<
td
>
<
asp:Label
ID
=
"Name"
runat
=
"Server"
Text='<%#Eval("file") %>' />
</
td
>
<
td
>
<
asp:Label
ID
=
"Size"
runat
=
"Server"
Text='<%#Eval("size") %>' />
</
td
>
</
tr
>
</
ItemTemplate
>
</
telerik:RadListView
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
telerik:RadPane
>
</
telerik:RadSplitter
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
DefaultLoadingPanelID
=
"RadAjaxLoadingPanel1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"TreeView1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadListView1"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
</
form
>
</
body
>
</
html
>