Hi,
we are not able to expand all the child nodes when we click on separate asp button or link button.
we are using Visual Studio 2008.
we are using datasource to load the treeview. we will have three levels of child nodes and all these levels should expand when we click the Expand All Button/Link Button.
we have implemented the expandall functionality from javascript.after this event OnNodeExpand server side will be triggered so here we are binding all the child to parents and also we are setting the expanded property is set to TRUE to all the nodes.
so after this postback event the rad treeview gets refreshed and we are losing the expand all.
Telerik Web.Design and Telerik.Web.UI Version : 2009.2.701.20
ASP.NET:
<asp:Button ID="btnExpand" runat="server" Text="Expand All" OnClick="btnExpand_Click" />
<telerik:RadTreeView ID="RadTreeView4" runat="server" OnNodeExpand="RadTreeView4_NodeExpand">
</telerik:RadTreeView>
C#:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
DataView dtParent = (DataView)SessionDataSource1.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvParent in dtParent)
{
rootNode = new RadTreeNode(drvParent["AICategoryName"].ToString());
rootNode.Text = rootNode.Text;
rootNode.Expanded = true;
rootNode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
RadTreeView4.Nodes.Add(rootNode);
}
}
}
catch (Exception ex)
{
throw ex;
}
}
protected void RadTreeView4_NodeExpand(object sender, RadTreeNodeEventArgs e)
{
ExpandNode(e.Node);
}
protected void ExpandNode(RadTreeNode e)
{
DataView dtChild = (DataView)SessionDataSource2.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvChild in dtChild)
{
rootNode = null;
rootNode = new RadTreeNode(drvChild["AILevel1Name"].ToString());
rootNode.Text = rootNode.Text;
RadTreeView4.ExpandAllNodes();
e.Nodes[0].Expanded = true;
e.Nodes.Add(rootNode);
}
}
Javascript:
function ExpandAll()
{alert('call');
var treeView = $find("<%= trTaxonomy.ClientID %>");
var nodes = treeView.get_allNodes();
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].get_nodes() != null) {
nodes[i].expand();
}
}
}
we are not able to expand all the child nodes when we click on separate asp button or link button.
we are using Visual Studio 2008.
we are using datasource to load the treeview. we will have three levels of child nodes and all these levels should expand when we click the Expand All Button/Link Button.
we have implemented the expandall functionality from javascript.after this event OnNodeExpand server side will be triggered so here we are binding all the child to parents and also we are setting the expanded property is set to TRUE to all the nodes.
so after this postback event the rad treeview gets refreshed and we are losing the expand all.
Telerik Web.Design and Telerik.Web.UI Version : 2009.2.701.20
ASP.NET:
<asp:Button ID="btnExpand" runat="server" Text="Expand All" OnClick="btnExpand_Click" />
<telerik:RadTreeView ID="RadTreeView4" runat="server" OnNodeExpand="RadTreeView4_NodeExpand">
</telerik:RadTreeView>
C#:
protected void Page_Load(object sender, EventArgs e)
{
try
{
if (!IsPostBack)
{
DataView dtParent = (DataView)SessionDataSource1.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvParent in dtParent)
{
rootNode = new RadTreeNode(drvParent["AICategoryName"].ToString());
rootNode.Text = rootNode.Text;
rootNode.Expanded = true;
rootNode.ExpandMode = TreeNodeExpandMode.ServerSideCallBack;
RadTreeView4.Nodes.Add(rootNode);
}
}
}
catch (Exception ex)
{
throw ex;
}
}
protected void RadTreeView4_NodeExpand(object sender, RadTreeNodeEventArgs e)
{
ExpandNode(e.Node);
}
protected void ExpandNode(RadTreeNode e)
{
DataView dtChild = (DataView)SessionDataSource2.Select(DataSourceSelectArguments.Empty);
foreach (DataRowView drvChild in dtChild)
{
rootNode = null;
rootNode = new RadTreeNode(drvChild["AILevel1Name"].ToString());
rootNode.Text = rootNode.Text;
RadTreeView4.ExpandAllNodes();
e.Nodes[0].Expanded = true;
e.Nodes.Add(rootNode);
}
}
Javascript:
function ExpandAll()
{alert('call');
var treeView = $find("<%= trTaxonomy.ClientID %>");
var nodes = treeView.get_allNodes();
for (var i = 0; i < nodes.length; i++) {
if (nodes[i].get_nodes() != null) {
nodes[i].expand();
}
}
}