首页 > 编程 > C# > 正文

C# TreeView控件使用代码

2019-10-29 21:48:29
字体:大 中 小
来源:转载
供稿:网友
TreeView控件的实例代码,需要的朋友可以参考下。
 
 
当前选中项:TreeView.SelectedNode 
增加顶级节点:TreeView.Nodes.Add("Key", "Text") 
增加同级节点:TreeView.SelectedNode.Parent.Nodes.Add("Key", "Text") 
增加子节点:TreeView.SelectedNode.Nodes.Add("Key", "Text") 
全部展开:TreeView.ExpandAll() 
全部收拢:TreeView.CollapseAll() 
重新设置TreeView 
数据库表结构为: ID 类型名称 父级ID 
复制代码代码如下:

private void loadTreeView() 
{ 
this.货品类别TableAdapter1.Fill(superCargoDataSet1.货品类别); 
DataTable table = superCargoDataSet1.货品类别; 
DataRow[] row = table.Select("父级ID=0"); 
foreach (DataRow r in row) 
{ 
TreeNode node = 货品类别TreeView.Nodes.Add(r["ID"].ToString(), r["类型名称"].ToString()); 
recursionShow(node, r["ID"].ToString()); 
} 
} 
private void recursionShow(TreeNode nodes, string id) 
{ 
DataTable table = superCargoDataSet1.货品类别; 
DataRow[] row = table.Select("父级ID=" + id); 
if (row != null) 
{ 
foreach (DataRow r in row) 
{ 
TreeNode node = nodes.Nodes.Add(r["ID"].ToString(), r["类型名称"].ToString()); 
recursionShow(node, r["ID"].ToString()); 
} 
} 
} 

删除选中节点和其子结点,同时删除数据库中相应记录 
数据库表结构为: ID 类型名称 父级ID 
复制代码代码如下:

private void 删除ToolStripButton_Click(object sender, EventArgs e) 
{ 
if (货品类别TreeView.SelectedNode != null) 
{ 
DataRow[] rowChildren = superCargoDataSet1.货品类别.Select("ID=" + 货品类别TreeView.SelectedNode.Name.ToString()); 
if (rowChildren != null) 
{ 
foreach (DataRow row in rowChildren) 
{ 
delete节点(row["ID"].ToString()); 
row.Delete(); 
} 
} 
货品类别TreeView.SelectedNode.Remove(); 
} 
} 
private void delete节点(string id) 
{ 
DataRow[] rowChildren = superCargoDataSet1.货品类别.Select("父级ID=" + id); 
if (rowChildren != null) 
{ 
foreach (DataRow row in rowChildren) 
{ 
delete节点(row["ID"].ToString()); 
row.Delete(); 
} 
} 
} 

TreeView右键选中 
复制代码代码如下:

private void treeView左侧_MouseDown( object sender , MouseEventArgs e ) 
{ 
if( e.Button == MouseButtons.Right ) 
{ 
TreeNode node = treeView左侧.GetNodeAt (e.X , e.Y); 
if( node != null )//右键未选中节点,不改变当前选中的节点。VS2005如此。 
{ 
this.treeView左侧.SelectedNode = node; 
} 
} 
} 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表