我用的是.net2.0 我现在要创建一棵这样结构的树  aa
                                           bb
                                             cc
                                             dd
                                             ee
                                             ff
请问各位大哥代码应该怎样写,bb是从SQL数据库中读取的系统表,请各位大哥大姐帮忙解答.

解决方案 »

  1.   

    先添加根节点,再添加子节点 .不知道LZ数据库是什么信息
    treeview1.nodes.add(aa);再逐级添加
      

  2.   

    void PopulateCategories(TreeNode node)
    {
        SqlCommand sqlQuery = new SqlCommand(
            "Select CategoryName, CategoryID From Categories");
        DataSet resultSet;
        resultSet = RunQuery(sqlQuery);
        if (resultSet.Tables.Count > 0)
        {
            foreach (DataRow row in resultSet.Tables[0].Rows)
            {
                TreeNode NewNode = new
                    TreeNode(row["CategoryName"].ToString(),
                    row["CategoryID"].ToString());
                NewNode.PopulateOnDemand = true;
                NewNode.SelectAction = TreeNodeSelectAction.Expand;
                node.ChildNodes.Add(NewNode);
            }
        }
    }
      

  3.   

            private void CreateUGTreeViewBranch( GroupTree tree, TreeComponent parent, List<UserGroupUI> list )
            {
                foreach( UserGroupUI item in list )
                {
                    TreeComponent child =
                        tree.CreateTreeBranch( Convert.ToInt32( item.TreeViewId ), item.NameString, null,
                        SetManagement_Constants.ImageUrl_ListUserGroup );
                    parent.Add( child );
                    if( item.ChildrenList != null && item.ChildrenList.Count > 0 )
                    {
                        CreateUGTreeViewBranch( tree, child, item.ChildrenList.ConvertAll<UserGroupUI>( new Converter<UG, UserGroupUI>( ConvertToUGUiForDisplay ) ) );
                    }
                }
            }用递归,参考一下
      

  4.   

        private void GenTreeRoot()
            {
                int cnt;
                TreeNode node, rootNode;
                cnt = this.dEV_CLASSTableAdapter.Fill(dsDevice.DEV_CLASS);
                if (cnt > 0)
                {
                    //devClassTreeControl1.treeView.Nodes.Clear();
                    treeView.Nodes.Clear();
                    rootNode = new TreeNode();
                    rootNode.Text = "设备管理";
                    rootNode.Name = "";
                    //devClassTreeControl1.treeView.Nodes.Add(rootNode);
                    treeView.Nodes.Add(rootNode);
                    foreach (DataRow row in dsDevice.DEV_CLASS)
                    {
                        if (row["UPPER_ID"] == null || row["UPPER_ID"].ToString() == "")
                        {
                            node = new TreeNode();
                            node.Text = row["CLASS_NAME"].ToString();
                            node.Name = row["CLASS_ID"].ToString();
                            //treeView.Nodes.Add(node);
                            rootNode.Nodes.Add(node);
                            //devClassTreeControl1.treeView.Nodes.Add(node);
                            GenTreeChild(node, row);
                        }
                    }
                    rootNode.Expand();            }
            }        private void GenTreeChild(TreeNode pnode ,DataRow prow)
            {
                TreeNode node;
                DataRelation relation = prow.Table.ChildRelations[0];
                DataRow[] child = prow.GetChildRows(relation);
                foreach (DataRow row in child)
                {
                    node = new TreeNode();
                    node.Text = row["CLASS_NAME"].ToString();
                    node.Name = row["CLASS_ID"].ToString();
                    pnode.Nodes.Add(node);
                    GenTreeChild(node ,row);
                }
            
            }        public override void FrmSetColumnEnabled(bool editStatus)
            {
                dataGridView1.AllowUserToAddRows = editStatus & IsNewStatus ;
                dataGridView1.ReadOnly = !editStatus;
                if (editStatus )
                {
                    dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
                }
                else 
                {
                    dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;
                }
            
            }我写的一个 你看看吧