如何从数据库列文件路径创建树视图
我在数据库表中有一个列,其中包含表中每个文件的文件路径。 如何在c#中创建一个树视图,它将模仿我数据库中的filepath列。
以下是列中的示例文件路径列:
jsmith/project1/hello.cs jsmith/project1/what.cs jwilliams/project2/hello.cs
我做了一个小例子。 我测试它,它工作正常。
请注意,我已经创建了一个MyDataBase类来模拟您的数据库:
public void CreateTreeView() { TreeView myTreeview = new TreeView(); myTreeview.Dock = DockStyle.Fill; this.Controls.Add(myTreeview); foreach (string field in MyDataBase.FieldsInMyColumn()) { string[] elements = field.Split('/'); TreeNode parentNode = null; for (int i = 0; i < elements.Length - 1; ++i) { if (parentNode == null) { bool exits = false; foreach (TreeNode node in myTreeview.Nodes) { if (node.Text == elements[i]) { exits = true; parentNode = node; } } if (!exits) { TreeNode childNode = new TreeNode(elements[i]); myTreeview.Nodes.Add(childNode); parentNode = childNode; } } else { bool exits = false; foreach (TreeNode node in parentNode.Nodes) { if (node.Text == elements[i]) { exits = true; parentNode = node; } } if (!exits) { TreeNode childNode = new TreeNode(elements[i]); parentNode.Nodes.Add(childNode); parentNode = childNode; } } } if (parentNode != null) { parentNode.Nodes.Add(elements[elements.Length - 1]); } } }
编辑
在这里,我粘贴了您不需要的代码,但它可以帮助您理解我的代码,或者自己复制/粘贴和尝试。
public static class MyDataBase { private static List fields = new List (); public static void AddField(string field) { fields.Add(field); } public static IList FieldsInMyColumn() { return fields; } }
form1中的构造函数
上述就是C#学习教程:如何从数据库列文件路径创建树视图分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注---计算机技术网(www.ctvol.com)!
public Form1() { InitializeComponent(); MyDataBase.AddField("jsmith/project1/hello.cs"); MyDataBase.AddField("jsmith/project1/what.cs"); MyDataBase.AddField("jsmith/project2/hello.cs"); CreateTreeView(); }
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1038782.html