Tree view recursive

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • neelmukhopadhya
    New Member
    • Dec 2010
    • 23

    Tree view recursive

    I have tried for a recursive tree.

    Please help me.

    Here is my code:
    Code:
    private void PopulateReport()
            {
                List<ListItems> siteData = new List<ListItems>();
                DataTable dt = GetAllData4();
    
                foreach (DataRow dr in dt.Rows)
                {
                   siteData.Add(new ListItems(int.Parse(dr["MainId"].ToString()),dr["MainName"].ToString(),int.Parse(dr["SecondId"].ToString()),dr["SecondName"].ToString(),int.Parse(dr["ThirdId"].ToString()),dr["ThirdName"].ToString()));
                }
                var nodes = siteData.Find(x => x.MainId ==int.Parse(dt.Rows[0]["MainId"].ToString()));
                if (nodes != null)
                {
                    RadTreeNode radTreeNode = new RadTreeNode(nodes.MainName, nodes.MainId.ToString());
                    radTree1.Nodes.Clear();
                    radTree1.Nodes.Add(radTreeNode);
                    BindTree(siteData, radTreeNode);
                }
            }
    
            private void BindTree(IEnumerable<ListItems> list, RadTreeNode parentNode)
            {
                var nodes = list.Where(x => parentNode == null ? x.MainId == 0 : x.MainId ==int.Parse(parentNode.Value));
                foreach (var node in nodes)
                {
                    RadTreeNode radTreeNode = new RadTreeNode(node.MainName, node.MainId.ToString());
                    if (parentNode == null)
                    {
                        radTree1.Nodes.Add(radTreeNode);
                    }
                    else
                    {
                        parentNode.Nodes.Add(radTreeNode);
                    }
                    BindTree(list, radTreeNode);
                }
            }
    
    
    public DataTable GetAllData4()
            {
                return GetDataTable(@"SELECT T1.*,T2.SECONDID,T2.SECONDNAME,T3.THIRDID,T3.THIRDNAME FROM T1 INNER JOIN T2 ON T1.MAINID=T2.MAINID
                                                    LEFT OUTER JOIN T3 ON T2.SecondId=T3.SecondId ORDER BY T1.MAINID");
            }
    
    
    public class ListItems
            {
                private int _mainId;
                private string _mainName;
                private int _secondId;
                private string _secondName;
                private int _thirdId;
                private string _thirdName;
                
                public int MainId
                {
                    get { return _mainId; }
                    set { _mainId=value ; }
                }
                public string MainName
                {
                    get { return _mainName; }
                    set { _mainName = value; }
                }
                public int SecondId
                {
                    get { return _secondId; }
                    set { _secondId = value; }
                }
                public string SecondName
                {
                    get { return _secondName; }
                    set { _secondName = value; }
                }
                public int ThirdId
                {
                    get { return _thirdId; }
                    set { _thirdId = value; }
                }
                public string ThirdName
                {
                    get { return _thirdName; }
                    set { _thirdName = value; }
                }
    
                public ListItems(int mainId,string mainName,int secondId,string secondName,int thirdId,string thirdName)
                {
                    _mainId = mainId;
                    _mainName = mainName;
                    _secondId = secondId;
                    _secondName = secondName;
                    _thirdId = thirdId;
                    _thirdName = thirdName;
                }
            }
    Last edited by Frinavale; Jun 18 '12, 02:13 PM. Reason: Added code tags and removed all-caps text. When you post something in caps online, it is the equivalent to yelling. Please refrain from posting in all caps and please use code tags in the future.
Working...