效果图如下
cs代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TreeView { public partial class FrmTreeView : Form { bool isShow = false; public FrmTreeView() { InitializeComponent(); tvTree.Nodes.Add("湖南省"); } private void tsmShowAdd_Click(object sender, EventArgs e) { if (!isShow) { DataSet ds = DatabaseHelper.GetDataSet(); AddTreeNode(ds, "cf0dbde5-14d6-44be-9f71-4e5d302afc99", tvTree.TopNode); isShow = true; } } private void AddTreeNode(DataSet ds,string fatherKey,TreeNode Nodes) { var results = from result in ds.Tables[0].AsEnumerable() where result.Field<string>("SYS_FATHERKEY") == fatherKey select result; foreach (var item in results) { TreeNode node = new TreeNode(); node.Text = item.Field<string>("SYS_NAME"); if (Nodes == null) { tvTree.Nodes.Add(Nodes); } else { Nodes.Nodes.Add(node); } AddTreeNode(ds, item.Field<string>("SYS_KEY"),node); } } } }
数据库表的结构如下