вопрос по дереву

Djutty
Дата: 07.04.2010 13:19:35
Доброго времени суток, вопрос таков: как сделать так что если нет одной ветки выпадалась следующая
                        void PopulateNode(Object sender, TreeNodeEventArgs e)
                        {

                     
                            switch (e.Node.Depth)
                            {
                                case 0:
                                  
                                    PopulateInstitute(e.Node);
                                    break;
                                case 1:
                            
                                    PopulateFacultets(e.Node);
									PopulateDiscipline(e.Node);
                                    break;
                                case 2:
                                
                                    PopulateDiscipline(e.Node);
                                    break;

                                default:
                              
                                    break;
                            }

                        }

                        void PopulateInstitute(TreeNode node)
                        {

              
                            DataSet ResultSet = RunQuery("SELECT kod, name FROM division_list WHERE not name is null order by name");

                     
                            if (ResultSet.Tables.Count > 0)
                            {

                  
                                foreach (DataRow row in ResultSet.Tables[0].Rows)
                                {

            
                                    TreeNode newNode = new TreeNode();
                                    newNode.Text = row["Name"].ToString();
                                    newNode.Value = row["kod"].ToString();

        
                                    newNode.PopulateOnDemand = true;

             
                                    newNode.SelectAction = TreeNodeSelectAction.None;

                                    newNode.Collapse();


                                }

                            }

                        }


                        void PopulateFacultets(TreeNode node)
                        {



                            DataSet ResultSet = RunQuery("SELECT name, kod FROM subdivision_list WHERE division_kod= " + node.Value);

                            if (ResultSet.Tables.Count > 0)
                            {

                                // Iterate through and create a new node for each row in the query results.
                                // Notice that the query results are stored in the table of the DataSet.
                                foreach (DataRow row in ResultSet.Tables[0].Rows)
                                {

   

                                }

                            }

                        }
                        public string d; public string NA; public string Fac; public string Inst;
                        void PopulateDiscipline(TreeNode node)
                        {

   
                            if (ResultSet.Tables.Count > 0)
                            {

  
                                foreach (DataRow row in ResultSet.Tables[0].Rows)
                                {

                                    TreeNode NewNode = new TreeNode(row["Name"].ToString());


 
                                    NA = row["Name"].ToString();
                                    d = NewNode.Value;
                                    Fac = node.Value;
                                    Inst = row["division"].ToString();

                                    string url;
                                    url = "webform1.aspx?Name=" + NA + "&ID=" + d + "&Fac=" + Fac + "&Ins=" + Inst;

                                    NewNode.NavigateUrl = (url);



                                }

                            }

                        }