在Winform 中 如何利用TreeView 去把数据库中的表的信息显示出来啊
是这样的一张表idnameparentId1aa02bb13cc14dd25ee2...
是这样的一张表
id name parentId
1 aa 0
2 bb 1
3 cc 1
4 dd 2
5 ee 2 展开
id name parentId
1 aa 0
2 bb 1
3 cc 1
4 dd 2
5 ee 2 展开
1个回答
展开全部
用了一个递归方法
private void Form1_Load(object sender, EventArgs e)
{
DataRow dr = "select id,name from table where parentId = 0";//获取根节点信息
TreeNode node = new TreeNode();//创建一个根节点
node.Name = dr[0].ToString();
node.Text = dr[1].ToString();
AddNodes(node);//为根节点递归绑定子节点
this.treeView1.Nodes.Add(node);//将根节点放入到树控件
}
private void AddNodes(TreeNode parentNode)
{
DataTable dt = "select id,name from table where parentId = " + node.Name;//获取此节点的子节点
if (dt.Rows.Count == 0)
{
return;//如果没有根节点则返回;
}
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
TreeNode node = new TreeNode();//创建一个节点
node.Name = dr[0].ToString();
node.Text = dr[1].ToString();
parentNode.Nodes.Add(node);//将节点放到父节点下
AddNodes(node);//然后对该节点进行递归
}
}
private void Form1_Load(object sender, EventArgs e)
{
DataRow dr = "select id,name from table where parentId = 0";//获取根节点信息
TreeNode node = new TreeNode();//创建一个根节点
node.Name = dr[0].ToString();
node.Text = dr[1].ToString();
AddNodes(node);//为根节点递归绑定子节点
this.treeView1.Nodes.Add(node);//将根节点放入到树控件
}
private void AddNodes(TreeNode parentNode)
{
DataTable dt = "select id,name from table where parentId = " + node.Name;//获取此节点的子节点
if (dt.Rows.Count == 0)
{
return;//如果没有根节点则返回;
}
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
TreeNode node = new TreeNode();//创建一个节点
node.Name = dr[0].ToString();
node.Text = dr[1].ToString();
parentNode.Nodes.Add(node);//将节点放到父节点下
AddNodes(node);//然后对该节点进行递归
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询