数据库
Id Name01 aa
0101 aaaa
0102 bbbb
02 cc
0201 cccc
0202 dddd取出后分层绑定到树上,text值为Id+"--"+Name如:一级节点 01--aa,他的子节点0101--aaaa
用递归怎么写?
Id Name01 aa
0101 aaaa
0102 bbbb
02 cc
0201 cccc
0202 dddd取出后分层绑定到树上,text值为Id+"--"+Name如:一级节点 01--aa,他的子节点0101--aaaa
用递归怎么写?
解决方案 »
- 用了母版页之后,css和js放在什么位置啊?
- Aspxgridview问题
- ASP.NET 的GridView,如何证“编辑”列放到后面去?
- ListBox 问题
- 如何用asp.net(C#)实现ClickThroughRate
- 关于动态加载树的问题?......
- 用c#实现:修改表格数据,然后更新数据库
- 点net群欢迎大家加入,希望大家在此讨论学习进步 13322963
- 谁做过问卷调查方面的系统?
- 小弟,在webform里动态生成了TextBox控件,可怎样才能取得这几个TextBox控件的输入值呢
- asp.net开发中的“Microsoft JScript 运行时错误: 'checkvalue' 未定义”错误提示是什么意思啊?
- asp.net关于角色分配的问题
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlCmd);
sqlDataAdapter.Fill(dataSet);
DataTable dt = dataSet.Tables[0];
SetTreeViewNode(dt, "0000", null);
}
}
private void SetTreeViewNode(DataTable dt ,
string parentID ,
TreeNode treeNode)
{
DataView dv = dt.DefaultView;
dv.Sort = "bookCatIDParent";
DataRowView[] drvs = dv.FindRows(parentID);
if (drvs.Length > 0)
{
foreach (DataRowView drv in drvs)
{
String bookCatIDParent = drv["bookCatID"].ToString();
String bookCatDesc = drv["bookCatDesc"].ToString();
TreeNode newTreeNode = new TreeNode( bookCatDesc +
"[" + bookCatIDParent + "]" );
SetTreeViewNode(dt, bookCatIDParent, newTreeNode);
SetTreeView(treeNode, newTreeNode);
}
}
}
private void SetTreeView(TreeNode treeNode, TreeNode newTreeNode)
{
if (treeNode == null)
BookViewTreeView.Nodes.Add(newTreeNode);
else
treeNode.ChildNodes.Add(newTreeNode);
}
}
menuID content parentID
1 一级 0
2 科技 1
3 沈阳 2
4 二级 0
5 美食 4
6 哈尔滨 5
7 三级 0
8 美食 7
9 大连 8 private void LoadTree()
{
treeView1.Nodes.Clear(); //先清空树
DataTable dt = ds.Tables[0]; //把表结构从数据库查出来放到DataTable中
//循环绑定父节点
foreach (DataRow dr in dt.Rows)
{
//遍历加载父节点
if (Convert.ToInt32(dr["parentID"]) == 0)
{
TreeNode newNode = new TreeNode();
newNode.Text = dr["content"].ToString();
newNode.NavigateUrl = "Switch.aspx?id=" + dr["menuID"].ToString();
newNode.Target = "main";
treeView1.Nodes.Add(newNode); ChildLoad(dr, newNode.ChildNodes, dt);
}
} this.treeView1.ExpandAll();
} //绑定子节点
private void ChildLoad(DataRow dr, TreeNodeCollection newNode, DataTable dt)
{
foreach (DataRow row in dt.Rows)
{
if (Convert.ToInt32(dr["menuID"]) == Convert.ToInt32(row["parentID"]))
{
TreeNode childNode = new TreeNode();
childNode.Text = row["content"].ToString();
childNode.NavigateUrl = "Switch.aspx?id=" + row["menuID"].ToString();
childNode.Target = "main";
newNode.Add(childNode); ChildLoad(row, childNode.ChildNodes, dt); //递归子节点
}
}
}