资源描述:
《treeview_树节点添加_删除的操作方法(递归调用显示子树)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、string[]s=newstring[]{"aaa","bbb","ccc","ddd","eee"};treeView1.Nodes.Add(s[0]);TreeNodetn=treeView1.Nodes[0];foreach(varitemins.Skip(1)){tn.Nodes.Add(item);tn=tn.Nodes[0];}1、加载树节点的方法(无级限) /public static void InitTree(DataTabledt,string nodeID,string parentID,string nodeNa
2、me,TreeNodeCollection treeNodeCollection,string rootNodeTag) { try { TreeNode tmpNode; DataView dv=new DataView(); dv.Table=dt; if (rootNodeTag!=""
3、
4、rootNodeTag!=null) dv.RowFilter=parentID+"='"+rootNodeTag+"'"; foreach(DataRowView drv in dv) { tmpNode=new T
5、reeNode(); tmpNode.Text=drv[nodeName].ToString(); tmpNode.Tag=drv[nodeID]; string father=drv[nodeID].ToString(); treeNodeCollection.Add(tmpNode); InitTree(dt,nodeID,parentID,nodeName,tmpNode.Nodes,father); } } catch(Exception te) { MessageBox.Show(te.Message,"Error",
6、MessageBoxButtons.OK,MessageBoxIcon.Warning); } } 注意:以下为弹出菜单项代码及相关的函数和方法2、增加根节点 private voidmenuItemAddRoot_Click(object sender, System.EventArgs e) { try { TreeNode treeNode=new TreeNode("新节点"); treeNode.Tag=MaxRecordNumber(dataSet.Tables["tree"],"NodeID")+1; t
7、his.treeView.Nodes.Add(treeNode); AddDeleteNode(treeNode,RootNodeTag,"Add"); treeView.SelectedNode = treeNode ; LoadTreeView.LoadTreeNodeImage(treeView.SelectedNode,this.imageList1,NodeImageMode); //执行指定节点的选定操作 this.treeViewAfterSelect(treeView.SelectedNode ); menuItem
8、Rename_Click(new object(),new System.EventArgs()); } catch(Exception te) { MessageBox.Show(this,te.Message,"ErrorRoot",MessageBoxButtons.OK,MessageBoxIcon.Warning); } } 3、增加子节点 private void menuItemAddChild_Click(object sender, System.EventArgs e) { try { //
9、1.当一个节点有对应链接资料时,不可以增加子节点 //2.当一个节点有对应链接资料时,可以增加图片 if (this.IsHaveLineData(dataSet.Tables["data"],this.richTextBoxId)) { MessageBox.Show(this,"要增加子节点,必须在这个节点没有可以链接的资料后才可以增加!","操作错误",MessageBoxButtons.OK,MessageBoxIcon.Information ); return; } TreeNode treeNode=new Tree
10、Node("新节点"); treeNode.Tag=MaxRecordNumber(data