我有TreeView
在多个级别上由多个Nodes
组成
根据级别,节点包含它们所代表的对象的Tag
。
node_lvl_1.1:
| node_lvl_2.1:
| | node_lvl_3.1
| | node_lvl_3.2
| node_lvl_2.2:
| | node_lvl_3.1
| | node_lvl_3.2
...
(现实当然更复杂)
我试图为每个对象设置ID(就像.
之后)。
我也试图创建某种链式列表 - 如:
Obj lvl1
包含所有Obj lvl2
的列表,其中还包含所有Obj lvl3
的列表...
我已经使用这两个函数为每个节点提供了与之对应的对象。
public static void Define(TreeNode mainNode)
{
foreach (TreeNode subNode in mainNode.Nodes)
{
if(subNode.Nodes.Count != 0)
{
Define(subNode);
}
else
{
subNode.ToolTipText = "Local";
}
DefineHierarchy(subNode);
}
}
public static void DefineHierarchy(TreeNode tn)
{
switch (tn.ToolTipText)
{
case "0":
tn.Tag = new Entite(tn.Text);
break;
case "1":
tn.Tag = new Secteur(tn.Text);
break;
case "2":
tn.Tag = new SousSecteur(tn.Text);
break;
case "3":
tn.Tag = new Zone(tn.Text);
break;
case "Local":
tn.Tag = new Local(tn.Text);
break;
default:
tn.Tag = "between Zone and Local";
break;
}
tn.ToolTipText = tn.Tag.ToString();
}
我希望我足够清楚:/并感谢您的帮助!