表结构:
id 名称 类型1 类型2 类型3 父id
1 name lx11 lx21 lx31 0
2 name1 lx12 lx22 lx32 0
3 name2 lx11 lx21 lx31 1
现在要排成这样的树:
类型1
|____类型2
|______类型3
|________名称
|_____子名称
即:
lx11
| |____lx21
| |____lx31
| |______name
lx12 |_____name2
|____lx22
|____lx32
|______name1
id 名称 类型1 类型2 类型3 父id
1 name lx11 lx21 lx31 0
2 name1 lx12 lx22 lx32 0
3 name2 lx11 lx21 lx31 1
现在要排成这样的树:
类型1
|____类型2
|______类型3
|________名称
|_____子名称
即:
lx11
| |____lx21
| |____lx31
| |______name
lx12 |_____name2
|____lx22
|____lx32
|______name1
解决方案 »
- webclient的问题
- C#将txt中的回车字符复制到SQL Server中
- 全局变量奇怪的问题
- Socket服务端如何知道客户端已断开连接?十万火急!
- c# 如何根据节点 的属性来取值呢?
- 为什么我的 vs 2008 连接 自身带的 sql 2005 express 连接不上呢
- FORM操作Excel的问题,大虾、小虾请多多帮忙
- 有关TabControl的问题
- How can I get another session's content by a sessionId in current page?
- CSDN论坛助手.Net Ver 0.1 正式版发布!!!
- 这样的反射为什么会出错??
- 小弟做的一个合并文件还原文件的小程序,现发送源码,要者请进.
1) 递归 (这个应该会吧)
2) 每个节点的特点: name 与 lx11 lx21 lx31同级
name
| |___name1
name2
我知道递归.但上面这种格式递归从什么开始呢?
name
| |___name1
name2设name1节点为 treeNode1;那么,加入同级节点,只要
treeNode1.Parent.Nodes.Add("lx11");
treeNode1.Parent.Nodes.Add("lx21");
treeNode1.Parent.Nodes.Add("lx31);没加一点难度啊
有父子关系的只是name
{
oleDbConnection1.Open ();
oleDbDataAdapter1=new System.Data.OleDb.OleDbDataAdapter ("select * from lx where parentname=0",oleDbConnection1);oleDbDataAdapter1.Fill (dataSet11,"lx");for( i=0;i<dataSet11.Tables ["lx"].Rows .Count ;i++)
{
TreeNode tn=new TreeNode(dataSet11.Tables ["lx"].Rows[i]["type1"].ToString ());
TreeNode tn1=new TreeNode(dataSet11.Tables ["lx"].Rows[i]["type2"].ToString ());
TreeNode tn2=new TreeNode(dataSet11.Tables ["lx"].Rows[i]["type3"].ToString ());
TreeNode tn3=new TreeNode (dataSet11.Tables ["lx"].Rows [i]["name"].ToString ());oleDbDataAdapter1=new System.Data.OleDb.OleDbDataAdapter ("select * from lx where parentname="+dataSet11.Tables ["lx"].Rows[i]["id"].ToString (),oleDbConnection1);
oleDbDataAdapter1.Fill (dataSet21,"lx");
TreeNode tn4;
if(dataSet21.Tables ["lx"].Rows .Count !=0)
{
tn4=new TreeNode (dataSet21.Tables ["lx"].Rows [0][1].ToString ());
tn3.Nodes .Add (tn4);
}
dataSet21.Tables ["lx"].Clear() ;
tn2.Nodes .Add (tn3);
tn1.Nodes .Add (tn2);
tn.Nodes .Add (tn1);
treeView1.Nodes .Add (tn);
}
}
你看一下你能把它改写成递归的形式吗?