如何动态绑定treeview控件。实现自动添加根节点和 根的子节点

解决方案 »

  1.   

    自动添加只需要你创建节点元素就可以了,比如你从XML文件中读出数据,根据文件的节点元素来创建树节点           XmlDocument doc = new XmlDocument();
                doc.Load(@"C:\book1.xml");
                treeView1.Nodes.Clear();
                BUildTree(doc.ChildNodes, treeView1.Nodes);
            }
            private void BUildTree(XmlNodeList xmlnodes, TreeNodeCollection treenodes)
            {
                string sValue;
                for (int i = 0; i < xmlnodes.Count; i++)
                {
                    if (xmlnodes[i].NodeType == XmlNodeType.Element)
                    {
                        TreeNode tNode = new TreeNode();
                        sValue = "";
                        if (xmlnodes[i].HasChildNodes && xmlnodes[i].ChildNodes.Count == 1 && xmlnodes[i].ChildNodes[0].NodeType == XmlNodeType.Text)
                            sValue = xmlnodes[i].ChildNodes[0].Value;
                        else 
                            for (int j = 0; j < xmlnodes[i].Attributes.Count; j++)
                                sValue += xmlnodes[i].Attributes[j].Name + "=" + xmlnodes[i].Attributes[j].Value + ";";
                            if (sValue == "")
                                tNode.Text = xmlnodes[i].Name;
                            else
                                tNode.Text = xmlnodes[i].Name + ":" + sValue;
                            treenodes.Add(tNode);
                            if (xmlnodes[i].HasChildNodes)
                                BUildTree(xmlnodes[i].ChildNodes, tNode.Nodes);
                    }
                }
    代码没有注释,呵呵,不过方式基本就是这种方式,把我这里面的属性去掉就可以了