C#Treeview-使用节点计数生成无重复项的树
已经有一些代码,几乎在那里,需要一些最后的调整 以下是我的预期输出:C#Treeview-使用节点计数生成无重复项的树,c#,treeview,duplicates,nodes,C#,Treeview,Duplicates,Nodes,已经有一些代码,几乎在那里,需要一些最后的调整 以下是我的预期输出: ParentNode1 |----ChildNode1 (3) |----ChildNode2 (2) |----ChildNode3 ParentNode2 |----ChildNode4 (2) |----ChildNode5 子节点节点3和5只有一个从中提取数据的“条目”(数据行) dr[“Contact”]=drows_cont[0]。ItemArray[2]。ToString(); 树节点温度=新树节点(); te
ParentNode1
|----ChildNode1 (3)
|----ChildNode2 (2)
|----ChildNode3
ParentNode2
|----ChildNode4 (2)
|----ChildNode5
子节点节点3和5只有一个从中提取数据的“条目”(数据行)
dr[“Contact”]=drows_cont[0]。ItemArray[2]。ToString();
树节点温度=新树节点();
temp.Text=(dr[“Contact”].ToString());
临时名称=临时文本;
如果(contactNode1.Nodes.Count==0)/*节点没有子节点或为空*/
{
contactNode1.Nodes.Add(临时);
}
其他的
{
int指数=1;
foreach(contactNode1.Nodes中的TreeNode loopNode)
{
指数=1;
对于(int i=0;i 如果(索引我建议您将代码替换为:
index = contactNode1.GetNodeCount(false);
与
或
如果这不能回答您的问题,请您发布您的实际结果,以便我们了解问题所在
//Add parent
treeView.Nodes.Add(parentNode);
//Loop through every child
foreach(TreeNode childNode in parentNode.Nodes)
{
int index = 0;
//Calculate childNode's children
foreach (TreeNode node in loopNode.Nodes)
{
index++;
}
string node;
//If index is 0, dont change text.
if (index != 0) node = childNode.Text + " (" + index + ")";
else node = childNode.Text;
parentNode.Nodes.Add(childNode);
}
根据需要进行修改。您可以将此作为一种方法,将父节点作为参数传入。您遇到的问题还不完全清楚。您能否更具体地回答您需要回答的问题?我建议您说明代码有什么问题?从我发布的代码开始,我将始终得到:ChildNode3(0)我需要GetNodeCount来实际反映ChildNode3的数量,而不是实际显示所有的ChildNode3
index = contactNode1.Nodes.Count(); //start from 0
index = contactNode1.Nodes.Count() + 1; // start from 1
//Add parent
treeView.Nodes.Add(parentNode);
//Loop through every child
foreach(TreeNode childNode in parentNode.Nodes)
{
int index = 0;
//Calculate childNode's children
foreach (TreeNode node in loopNode.Nodes)
{
index++;
}
string node;
//If index is 0, dont change text.
if (index != 0) node = childNode.Text + " (" + index + ")";
else node = childNode.Text;
parentNode.Nodes.Add(childNode);
}