1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms; 10 using System.Data.SqlClient; 11 using _01NPOI的写入; 12 13 namespace TreeViewTest 14 { 15 public partial class Form1 : Form 16 { 17 public Form1() 18 { 19 InitializeComponent(); 20 } 21 22 private void Form1_Load(object sender, EventArgs e) 23 { 24 //窗体加载的时候把数据加载到TreeView中 25 LoadData(treeView1.Nodes, 0); 26 } 27 private void LoadData(TreeNodeCollection tvCollection,int p) 28 { 29 //1、获取pid数据 30 DataTable dt = GetAreasByAreaPid(p); 31 //2、遍历数据并加载到TreeView上 32 foreach (DataRow dr in dt.Rows) 33 { 34 int areaId =Convert.ToInt32(dr[0]); 35 string areaName = dr[1].ToString(); 36 TreeNode tvNode = tvCollection.Add(areaName); 37 tvNode.Tag = areaId; 38 LoadData(tvNode.Nodes, areaId); //递归 39 } 40 } 41 //根据父ID获取所有子元素 42 private DataTable GetAreasByAreaPid(int pid) 43 { 44 string strSql = "SELECT AreaId,AreaName FROM TblArea WHERE TblArea.AreaPid=@pid"; 45 SqlParameter[] pama = new SqlParameter[] { new SqlParameter("@pid", SqlDbType.Int) { Value = pid } }; 46 return sqlHelper.ExecuteDataTable(strSql, CommandType.Text, pama); 47 } 48 } 49 }