我正在寻找一个功能强大且简单的方法,以避免在一个TreeView重复的值,现在我以这种方式进行插入:如何避免在TreeView中重复的值?
while (rdr.Read())
{
checkExists(rdr.GetString(3));
rootNode.Items.Add(new TreeViewItem() { Header = rdr.GetString(3) });
}
其中RDR是包含递归式的添加所有值机。现在,如果这些值已被添加,我会得到重复的值,所以我创建了一个函数checkExists,您应该检查该值是否已经在TreeView中。我还没有找到WPF的解决方案,我仍然在学习如何使用这个控件,我知道如何做到这一点。
public void checkExists(string campionato)
{
foreach (TreeView node in nation_team)
{
if (NodeExists(node, campionato))
exists = true;
}
}
这种方法还没有准备好,它只是一个测试版。
private bool NodeExists(TreeNode node, string key) {
foreach (TreeNode subNode in node.Nodes) {
if (subNode.Text == key) {
return true;
}
if (node.Nodes.Count > 0) {
NodeExists(node, key);
}
}
return false;
}
可能的解决方法,我试过,在foreach我试图通过所有节点进行迭代,但是编译器告诉我的GetEnumerator
所以,你的checkExists方法有问题吗?将代码发布到 –
哦对不起,我错过了将方法 – Bender
后的代码粘贴到NodeExists? –