问题描述
代码如下,在网上找的,修改了一下,但是没有反应,节点无法添加,求解,谢谢!privateDataViewdvDept=null;protectedvoidPage_Load(objectsender,EventArgse){AddTree(-1,(TreeNode)null);}publicvoidAddTree(intparentId,TreeNodepNode){stringsettings=System.Configuration.ConfigurationManager.AppSettings["SQLConnString"].ToString()+Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["dbPath"])+";";OleDbConnectionmyconn=newOleDbConnection(settings);myconn.Open();stringsqlstr="select*fromdeptTree";OleDbDataAdapterda=newOleDbDataAdapter(sqlstr,myconn);DataSetds=newDataSet();da.Fill(ds,"deptTree");dvDept=ds.Tables["deptTree"].DefaultView;myconn.Close();dvDept.RowFilter="parentId="+parentId;foreach(DataRowViewrowindvDept){TreeNodeNode=newTreeNode();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="<ahref='#'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