Telerik team,
I have radtreeview in radsplitter.[Telerik DLL V2012.1.411.40]
I have a requirement where on a selected index change of RadCombobox a radtree control should be generated. Now if I have selected a value say A from Combobox, the Tree will be generated. Now I select a Node say Node1 from the Tree and then select a different value from Picklist to regenerate the Tree. Now I want that if Node1 is again present as a Node in the new Tree generated, it should be selected and have focus on the respected Node i.e. Node1.
Following is my code
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" MaintainScrollPositionOnPostback="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
asp:Content
ID
=
"HeaderContent"
runat
=
"server"
ContentPlaceHolderID
=
"HeadContent"
>
<
script
type
=
"text/javascript"
>
function OnClientClicking_RadButton(splitter, arg) {
var RadTreeView1 = $find("<%=RadTreeView1.ClientID %>");
var Selectednode = RadTreeView1.get_selectedNode();
if (Selectednode != null) {
Selectednode.scrollIntoView();
alert(Selectednode.get_text());
}
}
function splitter(splitter, arg) {
var RadTreeView1 = $find("<%=RadTreeView1.ClientID %>");
var Selectednode = RadTreeView1.get_selectedNode();
if (Selectednode != null) {
Selectednode.scrollIntoView();
alert(Selectednode.get_text());
}
}
</
script
>
</
asp:Content
>
<
asp:Content
ID
=
"BodyContent"
runat
=
"server"
ContentPlaceHolderID
=
"MainContent"
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadComboBox"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"radsplitter"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
runat
=
"server"
ID
=
"RadAjaxLoadingPanel1"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadSplitter
ID
=
"radsplitter"
runat
=
"Server"
Width
=
"100%"
>
<
telerik:RadPane
ID
=
"Radpane"
runat
=
"server"
Width
=
"30%"
>
<
telerik:RadTreeView
ID
=
"RadTreeView1"
runat
=
"server"
CheckBoxes
=
"false"
AllowNodeEditing
=
"True"
Skin
=
"Vista"
EnableDragAndDrop
=
"true"
>
</
telerik:RadTreeView
>
</
telerik:RadPane
>
<
telerik:RadSplitBar
ID
=
"Splitbar"
runat
=
"server"
CollapseMode
=
"Forward"
></
telerik:RadSplitBar
>
<
telerik:RadPane
ID
=
"Radpane1"
runat
=
"server"
>
<
telerik:RadComboBox
ID
=
"RadComboBox"
runat
=
"server"
AutoPostBack
=
"true"
OnSelectedIndexChanged
=
"RadComboBox_SelectedIndexChanged"
>
<
Items
>
<
telerik:RadComboBoxItem
Text
=
"Tree1"
Value
=
"1"
/>
<
telerik:RadComboBoxItem
Text
=
"Tree2"
Value
=
"2"
/>
</
Items
>
</
telerik:RadComboBox
>
</
telerik:RadPane
>
</
telerik:RadSplitter
>
</
asp:Content
>
using System;
using Microsoft.VisualBasic;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Telerik.Web.UI;
using System.Web.UI;
using System.Xml.Linq;
using System.ComponentModel;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Xml;
using System.Text;
using System.Linq;
using System.Configuration;
using System.Security.Cryptography;
using System.IO;
using System.Drawing;
using System.Text.RegularExpressions;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadComboBox_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
DataTable dt = new DataTable();
DataRow dr ;
String selectednode = "";
if (RadTreeView1.SelectedNode != null)
selectednode = RadTreeView1.SelectedNode.Value;
if (RadComboBox.SelectedValue == "1")
{
dt.Columns.Add("NODE_ID", typeof(int));
dt.Columns.Add("PARENT_NODE_ID", typeof(int));
dt.Columns.Add("NODE_NAME", typeof(String));
for (int i = 1; i < 100; i++)
{
dr = dt.NewRow();
dr["NODE_ID"] = i;
if (i != 1)
dr["PARENT_NODE_ID"] = 1;
dr["NODE_NAME"] = i.ToString() + " Operating costs";
dt.Rows.Add(dr);
}
RadTreeView1.DataFieldID = "NODE_ID";
RadTreeView1.DataFieldParentID = "PARENT_NODE_ID";
RadTreeView1.DataTextField = "NODE_NAME";
RadTreeView1.DataValueField = "NODE_ID";
RadTreeView1.DataSource = dt;
RadTreeView1.DataBind();
RadTreeView1.ExpandAllNodes();
RadTreeView1.EnableViewState = true;
}
if (RadComboBox.SelectedValue == "2")
{
dt.Columns.Add("NODE_ID", typeof(int));
dt.Columns.Add("PARENT_NODE_ID", typeof(int));
dt.Columns.Add("NODE_NAME", typeof(String));
for (int i = 1; i < 100; i++)
{
dr = dt.NewRow();
dr["NODE_ID"] = i;
if (i != 1)
dr["PARENT_NODE_ID"] = 1;
dr["NODE_NAME"] = i.ToString() + " Report whether management has quantitatively estimated the financial implications (e.g., cost of insurance and carbon credits) of climate change for the organization. Where possible, quantification would be beneficial. If quantified, disclose financial implications and the tools used to quantify";
dt.Rows.Add(dr);
}
RadTreeView1.DataFieldID = "NODE_ID";
RadTreeView1.DataFieldParentID = "PARENT_NODE_ID";
RadTreeView1.DataTextField = "NODE_NAME";
RadTreeView1.DataValueField = "NODE_ID";
RadTreeView1.DataSource = dt;
RadTreeView1.DataBind();
RadTreeView1.ExpandAllNodes();
RadTreeView1.EnableViewState = true;
}
if (selectednode != "")
{
RadTreeNode node = RadTreeView1.FindNodeByValue(selectednode);
node.Selected = true;
}
}
}
Thanks
Sampada