TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc

上传人:cl****1 文档编号:543540454 上传时间:2022-10-03 格式:DOC 页数:6 大小:42.02KB
返回 下载 相关 举报
TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc_第1页
第1页 / 共6页
TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc_第2页
第2页 / 共6页
TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc_第3页
第3页 / 共6页
TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc_第4页
第4页 / 共6页
TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc》由会员分享,可在线阅读,更多相关《TreeView_树节点添加_删除的操作方法(递归调用显示子树).doc(6页珍藏版)》请在金锄头文库上搜索。

1、string s = new string aaa, bbb, ccc, ddd, eee ;treeView1.Nodes.Add(s0);TreeNode tn = treeView1.Nodes0;foreach (var item in s.Skip(1) tn.Nodes.Add(item); tn = tn.Nodes0; 1、加载树节点的方法(无级限) /public static void InitTree(DataTable dt,string nodeID,string parentID,string nodeName,TreeNodeCollection treeNode

2、Collection,string rootNodeTag) try TreeNode tmpNode; DataView dv=new DataView(); dv.Table=dt; if (rootNodeTag!=|rootNodeTag!=null) dv.RowFilter=parentID+=+rootNodeTag+; foreach(DataRowView drv in dv) tmpNode=new TreeNode(); tmpNode.Text=drvnodeName.ToString(); tmpNode.Tag=drvnodeID; string father=dr

3、vnodeID.ToString(); treeNodeCollection.Add(tmpNode); InitTree(dt,nodeID,parentID,nodeName,tmpNode.Nodes,father); catch(Exception te) MessageBox.Show(te.Message,Error,MessageBoxButtons.OK,MessageBoxIcon.Warning); 注意:以下为弹出菜单项代码及相关的函数和方法2、增加根节点private void menuItemAddRoot_Click(object sender, System.Ev

4、entArgs e) try TreeNode treeNode=new TreeNode(新节点); treeNode.Tag=MaxRecordNumber(dataSet.Tablestree,NodeID)+1; this.treeView.Nodes.Add(treeNode); AddDeleteNode(treeNode,RootNodeTag,Add); treeView.SelectedNode = treeNode ; LoadTreeView.LoadTreeNodeImage(treeView.SelectedNode,this.imageList1,NodeImage

5、Mode); /执行指定节点的选定操作 this.treeViewAfterSelect(treeView.SelectedNode ); menuItemRename_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

6、.EventArgs e) try /1.当一个节点有对应链接资料时,不可以增加子节点 /2.当一个节点有对应链接资料时,可以增加图片 if (this.IsHaveLineData(dataSet.Tablesdata,this.richTextBoxId) MessageBox.Show(this,要增加子节点,必须在这个节点没有可以链接的资料后才可以增加!,操作错误,MessageBoxButtons.OK,MessageBoxIcon.Information ); return; TreeNode treeNode=new TreeNode(新节点); treeNode.Tag=Max

7、RecordNumber(dataSet.Tablestree,NodeID)+1; treeView.SelectedNode.Nodes.Add(treeNode); AddDeleteNode(treeNode,treeView.SelectedNode.Tag.ToString(),Add); treeView.SelectedNode = treeNode ; LoadTreeView.LoadTreeNodeImage(treeView.SelectedNode,this.imageList1,NodeImageMode); /执行指定节点的选定操作 this.treeViewAf

8、terSelect(treeView.SelectedNode ); menuItemRename_Click(new object(),new System.EventArgs(); catch(Exception te) MessageBox.Show(this,te.Message,ErrorChild,MessageBoxButtons.OK,MessageBoxIcon.Warning); 4、增加兄弟节点private void menuItemAddBorther_Click(object sender, System.EventArgs e) try /判断是否选定组件中的根节

9、点 if (treeView.SelectedNode.Parent=null) MessageBox.Show (节点为根节点,要加入兄弟节点,请使用加入根节点选项! , Information , MessageBoxButtons.OK , MessageBoxIcon.Information ) ; return; TreeNode treeNode=new TreeNode(新节点); treeNode.Tag=MaxRecordNumber(dataSet.Tablestree,NodeID)+1; treeView.SelectedNode.Parent.Nodes.Add(tr

10、eeNode); AddDeleteNode(treeNode,treeView.SelectedNode.Parent.Tag.ToString().Trim(),Add); treeView.SelectedNode = treeNode ; LoadTreeView.LoadTreeNodeImage(treeView.SelectedNode,this.imageList1,NodeImageMode); /执行指定节点的选定操作 this.treeViewAfterSelect(treeView.SelectedNode ); menuItemRename_Click(new obj

11、ect(),new System.EventArgs(); catch(Exception te) MessageBox.Show(this,te.Message,ErrorParent,MessageBoxButtons.OK,MessageBoxIcon.Warning); 5、刪除节点private void menuItemDelete_Click(object sender, System.EventArgs e) try if(MessageBox.Show(this,删除节点+treeView.SelectedNode.Text.Trim()+,与其对应的信息也将被删除,你确定要

12、删除吗?,Information,MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK) /判断选定的节点是否存在下一级节点 if ( treeView.SelectedNode.Nodes.Count = 0 ) /删除节点 TreeNode deleNode=treeView.SelectedNode; if (File.Exists(this.richTextBoxPictureName) File.Delete(this.richTextBoxPictureName); int rows=myBindTr

13、ee.Position; treeView.Nodes.Remove(deleNode); dataSet.Tablestree.Rowsrows.Delete(); else MessageBox.Show ( 请先删除此节点中的子节点! , Information , MessageBoxButtons.OK , MessageBoxIcon.Information ) ; catch(Exception te) MessageBox.Show(this,te.Message,ErrorDelete,MessageBoxButtons.OK,MessageBoxIcon.Warning); 6、节点重命名 private void menuItemRename_Click(object sender, System.EventArgs e) TreeNode mySele

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号