阅读量:0
在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中。