C#之TreeView控件绑定数据库,树状显示
首先我们用到的工具是VS2005, SqlServer2012.
数据库表如下图:
我希望将a,b,d为父节点,dp_no栏位为子节点,效果如下:
开始新建项目工作:打开VS2005>>文件>>新建>>项目; 选择C#语言,选择Windows应用程序,更改名称为TreeViewTest.如下图所示:
完成后项目自动打开,如下图.然后找到工具箱,将控件TreeView拖拽到Form1里.
在Form1空白处鼠标右键点击属性,打开.
单击事件按钮(闪电图标),找到行为,双击Load,然后可以书写代码了.
开始书写代码,代码如下:
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 TreeViewTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
string connectionString = "server=数据库链接;uid=用户名;pwd=密码;database=数据库名称;";
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter adapter = new SqlDataAdapter("SELECT dp_no1 FROM evgrddemo GROUP BY dp_no1", connection);
DataTable dt = new DataTable();
adapter.Fill(dt);
SqlDataAdapter adapter1 = new SqlDataAdapter("SELECT dp_no,dp_no1 FROM evgrddemo ", connection);
DataTable dt1 = new DataTable();
adapter1.Fill(dt1);
foreach (DataRow dr in dt.Rows)
{
TreeNode node = new TreeNode(dr["dp_no1"].ToString());
foreach (DataRow dr1 in dt1.Select("dp_no1='"+dr["dp_no1"].ToString()+"'"))
{
node.Nodes.Add(dr1["dp_no"].ToString());
}
this.treeView1.Nodes.Add(node);
}
}
}
}
按F5键进行测试效果,效果如下:
达到目标.如果本文对你有所帮助,记得留个赞喔 --赠人玫瑰,手留余香!