Below code use to Create a treeview control in
asp.net
Aspx Page
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
</div>
</form>
Aspx.cs
public partial class TreeView : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Create the DataTable and columns
DataTable ItemTable = new DataTable("MyTable");
ItemTable.Columns.Add("ID", typeof(int));
ItemTable.Columns.Add("ParentID", typeof(int));
ItemTable.Columns.Add("Name", typeof(String));
// add some test data
ItemTable.Rows.Add(new object[] { 0, -1, "Bill Gates" });
ItemTable.Rows.Add(new object[] { 1, 0, "Steve Ballmer" });
ItemTable.Rows.Add(new object[] { 3, 1, "Mary Smith" });
ItemTable.Rows.Add(new object[] { 2, 0, "Paul Allen" });
ItemTable.Rows.Add(new object[] { 4, 2, "Ahmed Jones" });
ItemTable.Rows.Add(new object[] { 5, 2, "Wing Lee" });
DataRow[] SortedRows;
SortedRows = ItemTable.Select("", "ParentID");
XmlDocument XDoc = new XmlDocument();
XmlDeclaration XDec = XDoc.CreateXmlDeclaration("1.0", null, null);
XDoc.AppendChild(XDec);
foreach (DataRow Row in SortedRows)
{
// create an element node to insert
// note: Element names may not have spaces so use ID
// note: Element names may not start with a digit so add underscore
XmlElement NewNode = XDoc.CreateElement("_" + Row["ID"].ToString());
NewNode.SetAttribute("ID", Row["ID"].ToString());
NewNode.SetAttribute("ParentID", Row["ParentID"].ToString());
NewNode.SetAttribute("FullName", Row["Name"].ToString());
// special case for top level node
if ((int)Row["ParentID"] == -1)
XDoc.AppendChild(NewNode); // root node
else
{
// use XPath to find the parent node in the tree
String SearchString;
SearchString = String.Format("//*[@ID=\"{0}\"] ", Row["ParentID"].ToString());
XmlNode Parent = XDoc.SelectSingleNode(SearchString);
if (Parent != null)
Parent.AppendChild(NewNode);
else
; // Handle Error: Employee with no boss
}
}
XmlDataSource XDdataSource = new XmlDataSource();
XDdataSource.ID = DateTime.Now.Ticks.ToString(); // unique ID is required
XDdataSource.Data = XDoc.OuterXml;
TreeNodeBinding Binding = new TreeNodeBinding();
Binding.TextField = "FullName";
Binding.ValueField = "ID";
TreeView1.DataBindings.Add(Binding);
// Finally! Hook that bad boy up!
TreeView1.DataSource = XDdataSource;
TreeView1.DataBind();
}
}

Join the conversation! Your thoughts help the community grow.