C# 使用winForm的TreeView显示中国城镇四级联动

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 使用winForm的TreeView显示中国城镇四级联动相关的知识,希望对你有一定的参考价值。

直接上代码吧,这里 mysql.Data.MySqlClient;需要到mysql官网下载mysql-connector-net-6.9.8-noinstall.zip   访问密码 6073

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 using MySql.Data.MySqlClient;
 7 using System.Data;
 8 namespace ChinaRegionTreeView
 9 {  //连接数据库的类
10     class ConnectDB
11     {    
12         private static String mysqlcon = "database=chinaregiondb;Password=1111;User ID=root;server=localhost";
13         private  MySqlConnection mysqlCon;
14         private DataSet ds;
15         MySqlDataAdapter mysqlAdapter = new MySqlDataAdapter();
16 
17         public DataSet Connect()
18         {
19             string sqlStr = "select * from chinaregiondb.tb_prov_city_area_street";
20             mysqlAdapter = new MySqlDataAdapter(sqlStr, mysqlcon);
21             ds = new DataSet();
22             mysqlAdapter.Fill(ds);
23             return ds;
24         }
25     }
26 }
 1 public void TreeViewBind(DataTable dt,TreeNode parentNode,string parentID)
 2         {
 3             DataRow[] rows = dt.Select(string.Format("parentID={0}", parentID));
 4             foreach (DataRow row in rows)
 5             {
 6                 TreeNode node=new TreeNode(){
 7                     Text=row["name"].ToString()
 8                 };
 9                 TreeViewBind(dt, node, row["code"].ToString());
10                 if (parentNode == null)
11                 {
12                     treeView1.Nodes.Add(node);
13                 }
14                 else
15                 {
16                     parentNode.Nodes.Add(node);
17                 }
18             }
19         }

这个函数用的是递归,再用一个事件(button的click事件等)调用即可

1 private void button2_Click(object sender, EventArgs e)
2         {
3             treeView1.Nodes.Clear();
4             ConnectDB conDB = new ConnectDB();
5             dataGridView1.DataSource = conDB.Connect().Tables[0];
6             TreeViewBind(conDB.Connect().Tables[0],null,"0");
7         }

技术分享

效果还不错吧,第一次写,吼吼

以上是关于C# 使用winForm的TreeView显示中国城镇四级联动的主要内容,如果未能解决你的问题,请参考以下文章

在 C# winforms 应用程序中使用文本框过滤 Treeview

C# winform treeview 节点展开状态的图标设置

如何在vs 2005 中将mdi父窗口分割成两部分,一边treeview,一边显示子窗口(c# winform)

c# Winform给treeview添加图标问题

C# winform 编程 自定义combobx控件,将treeview控件嵌入combobox中

c#的winform TreeView控件中,展开不同的节点,右边显示不同的内容,该怎么做啊,请帮帮我吧,谢谢~