winform treeview递归加载数据库怎么实现

   2024-10-26 6320
核心提示:在Winform中,可以通过递归方式加载数据库数据到TreeView中。下面是一个简单的示例代码:首先,创建一个TreeView控件和一个Butto

在Winform中,可以通过递归方式加载数据库数据到TreeView中。下面是一个简单的示例代码:

首先,创建一个TreeView控件和一个Button控件:

TreeView treeView1 = new TreeView();Button button1 = new Button();button1.Text = "Load Data";button1.Click += Button1_Click;

然后,在Button的Click事件中编写递归加载数据库数据的代码:

private void Button1_Click(object sender, EventArgs e){    treeView1.Nodes.Clear(); // 清空TreeView节点    // 连接数据库并查询数据    using (SqlConnection conn = new SqlConnection("YourConnectionString"))    {        conn.Open();        SqlCommand cmd = new SqlCommand("SELECT * FROM YourTable", conn);        SqlDataReader reader = cmd.ExecuteReader();        // 递归加载数据到TreeView中        while (reader.Read())        {            LoadDataToTreeView(treeView1.Nodes, reader);        }    }}private void LoadDataToTreeView(TreeNodeCollection nodes, SqlDataReader reader){    TreeNode node = new TreeNode(reader["ColumnName"].ToString());    nodes.Add(node);    // 递归加载子节点数据    using (SqlConnection conn = new SqlConnection("YourConnectionString"))    {        conn.Open();        SqlCommand cmd = new SqlCommand("SELECT * FROM YourTable WHERE ParentID = @ID", conn);        cmd.Parameters.AddWithValue("@ID", reader["ID"]);        SqlDataReader subReader = cmd.ExecuteReader();        while (subReader.Read())        {            LoadDataToTreeView(node.Nodes, subReader);        }    }}

在LoadDataToTreeView方法中,首先创建一个TreeNode对象并添加到指定的节点集合中。然后根据父节点的ID查询子节点数据,并递归调用LoadDataToTreeView方法加载子节点数据。

最后,在Button的Click事件中调用LoadDataToTreeView方法加载根节点数据,实现数据库数据的递归加载到TreeView中。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号