Thank You Tiririk for you suggestion...
If you dont mind can you post some code for selectednodechange which can be useful for me..
Below is my code once check and let me know...
protected void Page_Load(object sender, EventArgs e)
{
if (Session["Username"] == null)
{
Session["Msg"] = "Your session has expired. please login again";
Response.Redirect("../Account/login.aspx");
return;
}
if (!IsPostBack)
{
GetTreeViewItems();
}
}
private void GetTreeViewItems()
{
try
{
string cs = ConfigurationManager.ConnectionStrings["MyConnection"].ConnectionString;
SqlConnection con = new SqlConnection(cs);
SqlDataAdapter da = new SqlDataAdapter("sp_GetEmployee", con);
DataSet ds = new DataSet();
da.Fill(ds);
ds.Relations.Add("ChildRows", ds.Tables[0].Columns["id"], ds.Tables[0].Columns["ManagerId"]);
foreach (DataRow level1DataRow in ds.Tables[0].Rows)
{
if (string.IsNullOrEmpty(level1DataRow["ManagerId"].ToString()))
{
TreeNode parentTreeNode = new TreeNode();
parentTreeNode.Text = level1DataRow["FirstName"].ToString();
parentTreeNode.Value = level1DataRow["id"].ToString();
GetChildRows(level1DataRow, parentTreeNode);
TreeView1.Nodes.Add(parentTreeNode);
}
}
}
catch (Exception ex)
{
throw ex;
}
}
private void GetChildRows(DataRow dataRow, TreeNode treeNode)
{
DataRow[] childRows = dataRow.GetChildRows("ChildRows");
foreach (DataRow childRow in childRows)
{
TreeNode childTreeNode = new TreeNode();
childTreeNode.Text = childRow["FirstName"].ToString();
childTreeNode.Value = childRow["id"].ToString();
treeNode.ChildNodes.Add(childTreeNode);
if (childRow.GetChildRows("ChildRows").Length > 0)
{
GetChildRows(childRow, childTreeNode);
}
}
}
protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
{
string Prefix = "<div style="display:none;" class="çontent'">Employee</div>";
e.Node.Text = Prefix + e.Node.Text;
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
}
}