数据库表
CREATE TABLE [dbo].[gogo](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](20) NOT NULL,
[ParentID] [int] NULL)
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt = GetTable();
DataRow dr = dt.Select("ParentID is null").Single();
TreeNode rootNode = new TreeNode();
rootNode.Name = dr["ID"].ToString();
rootNode.Text = dr["Name"].ToString();
treeView1.Nodes.Add(rootNode);
AddChildNodes(rootNode);
treeView1.ExpandAll();
}
private void AddChildNodes(TreeNode parentNode)
{
DataTable dt = new DataTable();
dt = GetTable();
DataRow[] drs = dt.Select("ParentID=" + parentNode.Name);
for (int i = 0; i < drs.Length; i++)
{
TreeNode childNode = new TreeNode();
childNode.Name = drs[i]["ID"].ToString();
childNode.Text = drs[i]["Name"].ToString();
parentNode.Nodes.Add(childNode);
AddChildNodes(childNode);
}
}
private DataTable GetTable()
{
SqlConnection con = new SqlConnection("server=.;database=test;integrated security=true");
SqlCommand cmd = new SqlCommand("select * from gogo", con);
SqlDataAdapter sda = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
sda.Fill(dt);
return dt;
}