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
高手帮我看看啊,谢谢了
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace kjtest
{
/// <summary>
/// left 的摘要说明。
/// </summary>
public class left : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView MainTree;
protected System.Web.UI.WebControls.Label Label1;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
} #region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load); }
#endregion
}
}
给你一个与数据库链接的代码,这是可以用的,我试过也正在用的