![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace WindowsApplication9 { public partial class MainForm : Form { string username = "";//用户名 string pwd="";//密码 private DataTable dt;//用来定义nodetree DataBase.DataConnection dataconn = new WindowsApplication9.DataBase.DataConnection(); public MainForm() { InitializeComponent(); } public MainForm(string username, string pwd) { this.username = username; this.pwd = pwd; InitialDateTable(); InitializeComponent(); } private void MainForm_Load(object sender, EventArgs e) { username_txt.Text = "用户名:"+username+"登录时间:"+DateTime.Now.ToLongDateString(); BindRoot(); } private void MainForm_FormClosed(object sender, FormClosedEventArgs e) { LoginForm log = new LoginForm(); log.Show(); } //初始化树形图 public void InitialDateTable() { string sql_str = "select * from XF_Channels"; SqlConnection conn=dataconn.GetData(); SqlCommand cmd = new SqlCommand(sql_str,conn); SqlDataAdapter da = new SqlDataAdapter(cmd); dt = new DataTable(); da.Fill(dt); } int image_int = 1; private void BindRoot() { //treeView1.Nodes.Clear(); ////填充treeview //treeView1.Nodes.Add(" 信息数据库"); //绑定根节点 DataRow[] rows = dt.Select("BelongToWho=0");//取根 foreach (DataRow dRow in rows) { TreeNode rootNode = new TreeNode("mm", 8, 0); rootNode.Tag = dRow; rootNode.Text = dRow["ChannelName"].ToString(); treeView1.Nodes.Add(rootNode); --image_int; BindChildAreas(rootNode); } } //递归绑定子区域 private void BindChildAreas(TreeNode fNode) { DataRow dr = (DataRow)fNode.Tag;//父节点数据关联的数据行 int fAreaId = (int)dr["ChannelID"]; //父节点ID DataRow[] rows = dt.Select("BelongToWho=" + fAreaId);//子区域 image_int++; if (rows.Length == 0) //递归终止,区域不包含子区域时 { return; } foreach (DataRow dRow in rows) { TreeNode node = new TreeNode("mm", image_int, 0); node.Tag = dRow; node.Text = dRow["ChannelName"].ToString(); //添加子节点 fNode.Nodes.Add(node); //递归 BindChildAreas(node); node = new TreeNode("mm", --image_int, 0); } } } }