Forms控件treeView的问题,为什么添加Node.Tag输出看全部是一样,而且是最后一个添加的值
public class NodeTag
{
public string node_id;
}
//递归添加树的节点
public void AddTree(string ParentID,TreeNode pNode)
{
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[parent_id] = '" + ParentID+"'";
foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode();
if(pNode == null)
{ //添加根节点
Node.Text = Row["node_name"].ToString();
MyNodeTag.node_id = Row["node_id"].ToString();
Node.Tag = MyNodeTag;
treeView1.Nodes.Add(Node);
AddTree(Row["node_id"].ToString(), Node); //再次递归
}
else
{ //?添加当前节点的子节点
Node.Text = Row["node_name"].ToString();
MyNodeTag.node_id = Row["node_id"].ToString();
Node.Tag = MyNodeTag;
pNode.Nodes.Add(Node);
AddTree(Row["node_id"].ToString(),Node); //再次递归
}
}
}
我这样做下来整个树的Node.Tag的MyNodeTag.node_id的值都为最后一个node_id
高手帮我看看啊,谢谢了