首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#构建目录树

c#构建目录树
EN

Stack Overflow用户
提问于 2018-05-14 13:48:47
回答 1查看 2.7K关注 0票数 1

我试图在我的应用程序中构建一个目录树。我正在使用来自Ext.NET的这个Ext.NET。我如何在给定的路径中搜索目录和子目录来构建这棵树?

下面是示例中给出的从节点构建树的代码:

代码语言:javascript
复制
protected void NodeLoad(object sender, NodeLoadEventArgs e)
    {

        if (!string.IsNullOrEmpty(e.NodeID))
        {
            for (int i = 1; i < 6; i++)
            {
                AsyncTreeNode asyncNode = new AsyncTreeNode();
                asyncNode.Text = e.NodeID + i;
                asyncNode.NodeID = e.NodeID + i;
                e.Nodes.Add(asyncNode);
            }

            for (int i = 6; i < 11; i++)
            {
                Ext.Net.TreeNode treeNode = new Ext.Net.TreeNode();
                treeNode.Text = e.NodeID + i;
                treeNode.NodeID = e.NodeID + i;
                treeNode.Leaf = true;
                e.Nodes.Add(treeNode);
            }
        }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-14 20:21:51

就像这样:

代码语言:javascript
复制
<script runat="server">
    protected void NodeLoad(object sender, NodeLoadEventArgs e)
    {
        // NodeID stores the local disk path ( full path ) of the selected node to expand
        string path = e.NodeID;

        if (!string.IsNullOrEmpty(e.NodeID))
        {
            foreach(var folder in System.IO.Directory.GetDirectories(path))
            {
                string folderName = new System.IO.DirectoryInfo(folder).Name;
                Node folderNode = new Node();
                folderNode.Text = folderName;
                folderNode.NodeID = folder;
                e.Nodes.Add(folderNode);
            }

            foreach(var fileLeaf in System.IO.Directory.GetFiles(path))
            {
                Node treeNode = new Node();
                treeNode.Text = System.IO.Path.GetFileName(fileLeaf);
                treeNode.NodeID = fileLeaf;
                treeNode.Leaf = true;
                e.Nodes.Add(treeNode);
            }
        }
    }
</script>

对于我来说,我只是使用了C:\作为一个例子,您需要将根文件夹放在元素中:

代码语言:javascript
复制
<Root>
    <ext:Node NodeID="C:\" Text="C:\"/>
</Root>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50331973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档