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
高手帮我看看啊,谢谢了
{
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
高手帮我看看啊,谢谢了
{
tempTag = (NodeTag)(treeView1.SelectedNode.Tag);
textBox1.Text = tempTag.node_id;
textBox2.Text=treeView1.SelectedNode.Text;
}我是这样取得Tag值的