C# 使用TreeView控件创建适当的树状结构
我在这个网站和其他网站上搜索了一个解决方案,但不幸的是,我在那里尝试的一切都没有奏效。 我试图实现的是从C# 使用TreeView控件创建适当的树状结构,c#,winforms,treeview,C#,Winforms,Treeview,我在这个网站和其他网站上搜索了一个解决方案,但不幸的是,我在那里尝试的一切都没有奏效。 我试图实现的是从列表创建一个树状结构,通过TreeView控件显示 这就是我到目前为止所做的: List<string> versions = servers.Select(s => s.Version).Distinct().ToList(); foreach (var version in versions) { TreeNode root = new TreeNode(ver
列表创建一个树状结构,通过TreeView
控件显示
这就是我到目前为止所做的:
List<string> versions = servers.Select(s => s.Version).Distinct().ToList();
foreach (var version in versions)
{
TreeNode root = new TreeNode(version);
root.ExpandAll();
myTreeView.Nodes.Add(root);
foreach (var server in servers.Where(x => x.Version == version))
{
myTreeView.Nodes.Add(server.ServerName);
}
}
但我想看到的是:
VersionA
Server2
Server3
VersionB
Server1
Server4
注意:此层次结构中始终有两个级别。
请帮帮我 每个树节点
都有自己的节点
列表,这就是构建树的方式。要将分支(或叶子)添加到树中,您需要跟踪从其派生的当前节点
在您的情况下,代码很接近,只需更改在内部循环中运行的Add
的目标即可进行修改,如下所示:
foreach (var server in servers.Where(x => x.Version == version))
{
root.Nodes.Add(server.ServerName);
}
这将添加服务器节点作为版本节点的叶子。为了澄清,myTreeView
和resultView
是相同的吗?是的,对不起,我会更正的,谢谢
foreach (var server in servers.Where(x => x.Version == version))
{
root.Nodes.Add(server.ServerName);
}