数据库动态添加treeview的节点
代码如下,在网上找的,修改了一下,但是没有反应,节点无法添加,求解,谢谢!private DataView dvDept = null;
protected void Page_Load(object sender, EventArgs e)
{
AddTree(-1, (TreeNode)null);
}
public void AddTree(int parentId, TreeNode pNode)
{
string settings = System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString() + Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["dbPath"]) + ";";
OleDbConnection myconn = new OleDbConnection(settings);
myconn.Open();
string sqlstr = "select * from deptTree";
OleDbDataAdapter da = new OleDbDataAdapter(sqlstr, myconn);
DataSet ds = new DataSet();
da.Fill(ds, "deptTree");
dvDept = ds.Tables["deptTree"].DefaultView;
myconn.Close();
dvDept.RowFilter = "parentId=" + parentId;
foreach (DataRowView row in dvDept)
{
TreeNode Node = new TreeNode();
if (pNode == null) //当节点的父节点为空,则添加当前节点为根节点
{
Node.Text = row["deptName"].ToString();
Node.Value = row["nodeValue"].ToString();
TreeView1.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int32.Parse(row["deptId"].ToString()), Node); //再次递归
}
else
{
//添加当前节点的子节点
Node.Text = "<a href='#' onDblClick=\"abc('" + row["nodeValue"].ToString() + "','" + row["deptName"].ToString() + "')\">" + row["deptName"].ToString() + "</a>";
Node.Value = row["nodeValue"].ToString();
pNode.ChildNodes.Add(Node);
Node.Expanded = true; //节点状态展开
AddTree(Int32.Parse(row["deptId"].ToString()), Node); //再次递归
}
}
} --------------------编程问答-------------------- 刚回答过这个问题
你可以看看
http://topic.csdn.net/u/20120406/22/097ea06c-4b88-4575-a0c4-d5c32f1d2b09.html
这个帖子 1楼和2楼回答的都可以参考。 2楼的比较详细。 --------------------编程问答-------------------- AddTree(-1, (TreeNode)null);
不要这样带,第二个参数(TreeNode)null换成你的treeview控件的ID
补充:.NET技术 , ASP.NET