zoukankan      html  css  js  c++  java
  • 递归加载Treelist树

    public partial class Form2 : Form
    {
      List<TreeNodeClass> tnclist;
      public Form2()
      {
        InitializeComponent();
        LoadXml();
      }

      void GetChildNode(XmlNodeList nodeList, List<TreeNodeClass> treeList, System.Guid parentID)
      {
        System.Guid curparentID = new Guid();
        foreach (XmlNode childNode in nodeList)
        {
          switch ((childNode).Name)
          {
            case "Neutral":
                  TreeNodeClass treeNode = new TreeNodeClass();
                     treeNode.ID = System.Guid.NewGuid();
                  treeNode.ParentID = parentID;
                  treeNode.NodeName = childNode.SelectSingleNode("Actor.Name").Attributes[0].Value;
                  treeList.Add(treeNode);
                  curparentID = treeNode.ID;
                  break;
             case "CLitAssyGroup":
                  GetChildNode(childNode.ChildNodes, treeList, curparentID);
                  break;
            case "CLitActorMesh":
                  GetChildNode(childNode.ChildNodes, treeList, curparentID);
                  break;
            default:
                  break;
          }
        }
      }

      void LoadXml()
      {
        tnclist = new List<TreeNodeClass>();
        XmlDocument doc = new XmlDocument();
        doc.Load(System.Environment.CurrentDirectory + @"SGS-SD.smgXml");
        XmlNodeList root = doc.SelectNodes("//Server[@Type="CLitServerModifiable"]/CLitAssyRoot/Neutral/Actor.Name");
        TreeNodeClass treeNode = new TreeNodeClass();
        treeNode.ID = System.Guid.NewGuid();
        treeNode.ParentID = System.Guid.NewGuid();
        treeNode.NodeName = root[0].Attributes["Value"].Value;
        tnclist.Add(treeNode);
        XmlNodeList nodelist = doc.SelectNodes("//Server[@Type="CLitServerModifiable"]/CLitAssyRoot/CLitAssyGroup");
        System.Guid curparentID = treeNode.ID;
        foreach (XmlNode node in nodelist)
        {
          GetChildNode(node.ChildNodes, tnclist, curparentID);
        }
        treeList2.DataSource = tnclist;
      }

    }

    public class TreeNodeClass
    {

      public System.Guid ID { get; set; }
      public System.Guid ParentID { get; set; }
      public string NodeName { get; set; }

    }

    You can reach me by surfing the web ---- huntjobs.cn,or sending e-mails to me,Here is my qq MailBox:1424870395@qq.com
  • 相关阅读:
    html+css 笔记
    JS随手笔记
    JQ几个淡入淡效果
    AngularJS编译阶段应分为两个阶段
    JavaScript 原型链的理解
    js继承的6种方式
    什么是跨域?跨域解决方法
    computed (计算属性) 和 methods (方法) 的区别
    谈谈vue生命周期
    基本类型有哪几种?null 是对象吗?基本数据类型和复杂数据类型存储有什么区别?
  • 原文地址:https://www.cnblogs.com/HedgehogBlog/p/3672668.html
Copyright © 2011-2022 走看看