我的所有TreeView节点都有一个唯一的节点深度ID。
我想在TreeView节点上设置匹配特定值的Checked=True
。
目前我正在做以下事情:
Dim value As Integer = 57
For Each n As TreeNode In tvForces.Nodes
If n.Value = value Then n.Checked = True
Next
有没有更好的方法来查找我想要设置为Checked=True
的节点而不是循环遍历每个节点?
我正在寻找类似的东西:
Dim value As Integer = 57
n.FindNodesByValue(value)(0).Checked = True
我可以使用这样的东西吗?
答案 0 :(得分:5)
伪代码(c#
)使用LINQ Where() + List.ForEach():来展示一个想法
nodes.Where(node => node.Value == "5")
.ToList()
.ForEach((node => node.Checked = true));
请参阅上面的链接MSDN
,了解这两种方法的VB.NET
语法。
答案 1 :(得分:0)
foreach (TreeNode node in TreeView1.Nodes)
{
if (node.Value == "8")
{
node.Checked = true;
}
foreach (TreeNode item1 in node.ChildNodes)
{
if (item1.Value == "8")
{
item1.Checked = true;
}
}
}
答案 2 :(得分:-1)
for (int j = 0; j < TreeView1.CheckedNodes.Count; j++)
{
Response.Write(TreeView1.CheckedNodes[j].Value));
}