Monday, 16 March 2015

Bind Tree View in asp.net

   <asp:TreeView ID="SqlTree" OnSelectedNodeChanged="SqlTreeSelectedNodeChanged" CssClass="example2"
                                                                                Style="font-weight: bold; text-align: left;" ShowLines="true" ShowExpandCollapse="true"
                                                                                runat="server" >
                                                                                <NodeStyle Height="28px"  Width="250px"/>
                                                                            </asp:TreeView>




IN CS file


protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            if (!Page.IsPostBack)
            {
             
                SqlTree.CollapseAll();
                FillTreeView();
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

   public void FillTreeView()
    {
        DataTable Modules = new DataTable();
        Modules = GetModuleDetails();
        SqlTree.Nodes.Clear();
        PopulateTreeNode(Modules, null, 0);
    }
    private void PopulateTreeNode(DataTable ModuleList, TreeNode parent, int parentID)
    {
        TreeNodeCollection baseNodes;
        TreeNode node;
        if (parent == null)
        {
            baseNodes = SqlTree.Nodes;
        }
        else
            baseNodes = parent.ChildNodes;
        foreach (DataRow dtRow in ModuleList.Rows)
        {
            if (int.Parse(dtRow["ChildID"].ToString()) == parentID)
            {
                node = new TreeNode();
                node.Text = dtRow["Description"].ToString();
                node.Value = dtRow["ID"].ToString();
                node.SelectAction = TreeNodeSelectAction.Select;
                baseNodes.Add(node);
                PopulateTreeNode(ModuleList, node, int.Parse(dtRow["ID"].ToString()));
            }
        }
        SqlTree.ExpandAll();
    }
 protected void SqlTreeSelectedNodeChanged(object sender, EventArgs e)
    {
        string a = SqlTree.SelectedNode.Text;
        if (a == "HPI")
      {
//Do Something
}

   
    }


 public DataTable GetModuleDetails()
    {
        DataTable dt = new DataTable();
        dt = ObjComplaint.ReadCommentTreeAll(Convert.ToInt32(DepID));
        return dt;
    }

No comments:

Post a Comment