childNode笔记

以下是TreeView 的一个数据绑定的实例

 protected void Page_Load(object sender, EventArgs e)
    {
        if ( !IsPostBack )
        {
            this.TreeView1.Nodes.Clear( );

            TreeNode root = new TreeNode( );
            this.TreeView1.Nodes.Add( root );

            root.Text = "根";
            root.Value="G:/20110823";
            processNode( root );
        }
    }

    private void processNode( TreeNode root )
    {
        System.IO.DirectoryInfo di = new System.IO.DirectoryInfo( root.ValuePath );
        System.IO.DirectoryInfo[ ] directory = di.GetDirectories( );

        foreach ( System.IO.DirectoryInfo item in directory )
        {
            TreeNode childNode=new TreeNode();
            root.ChildNodes.Add( childNode );

            childNode.Text = item.Name;
            childNode.Value = item.Name;

            //childNode.Text = di.Name;  如果再循环里再找 di.Name 的话,foreach就会再次把"G:/20110823"的文件夹再次深度遍历,就会形成 "G:/20110823/20110823"的路径,这样也是可以找到文件的只是重复显示了20110823这个文件夹,但是报错的原因是机器的cup处理器处理的速度原因,没有计算出来导致报黄页。
            //childNode.Value = di.Name;

            processNode( childNode );
        }
    }

posted @ 2012-05-24 11:08  blog_yuan  阅读(900)  评论(0编辑  收藏  举报