ASP.NET递归添加树节点
表设计如图:
id title parentid
1 asp.net 0
2 c# 0
3 c#_0 2
4 c#_1 3
5 c#_2 4
页面中添加一个TreeView控件
写添加节点方法:
private void AddNode(int id, TreeNode parentnode)
{
string sql = "select * from menu";//sql 语句
DataTable table = DB.GetDB(sql);//获取数据
DataView view = new DataView(table);//把表数据添加到自定义视图中
view.RowFilter = "parentid="+id;//设置视图查询条件
foreach (DataRowView row in view)//遍历视图中数据
{ TreeNode node = new TreeNode();
node.Text = row[1].ToString();
int newid = Convert.ToInt32(row[0]);
if (parentnode != null)
{
node.Expanded = false;
parentnode.ChildNodes.Add(node);
AddNode(newid, node);//递归查找节点
}
else
{
TreeView1.Nodes.Add(node);
AddNode(newid, node);
}
}
}
DB类中GetDB()方法:
public static SqlConnection sqlconn()
{ string sqlconnstr = "database=menutree;data source=.;uid=sa;pwd=123";
SqlConnection conn = new SqlConnection(sqlconnstr); return conn; }
public static DataTable GetDB(string sql)
{ SqlConnection connection = sqlconn();
SqlCommand comm = new SqlCommand(sql, connection);
SqlDataAdapter ad = new SqlDataAdapter(comm);
DataTable table = new DataTable();
ad.Fill(table);
return table; }
调用代码:
protected void Page_Load(object sender, EventArgs e)
{ if (!IsPostBack)
{ TreeView1.Nodes.Clear();
AddNode(0, (TreeNode)null);
} }
完成!
ASP.NET递归添加树节点的更多相关文章
- ASP.NET通过递归添加树(Treeview)
先来看看效果,基本上就是这样的. 所谓树,无非就是2点,第一个:根节点,第二:叶子节点,其中叶子节点中还可能有叶子节点,但是根节点始终只有一个. 下面贴上 各部分的代码 1.PAGE_LOAD载入事件 ...
- Winform递归绑定树节点
/// <summary> /// 绑定树节点 /// </summary> /// <param name="pid"></param& ...
- Winfom递归绑定树节点
/// <summary> /// 绑定树节点 /// </summary> /// <param name="pid"></param& ...
- Winform TreeList递归绑定树节点
/// <summary> /// 绑定树目录 /// </summary> /// <param name="parentId">父ID< ...
- java实现的可以无限级别添加子节点的菜单树
网上大部分菜单树,都是单独用js代码来实现的,这样做的缺点是:用户无法动态的设置菜单项,比如,超级管理员可能需要根据每个用户的权限,赋予他们不同的系统功能,不同的功能对应着不同数量的菜单项. 对于此问 ...
- 菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)
初学Web端开发,今天是第一次将所学做随笔记录,肯定存在多处欠妥,望大家海涵:若有不足,望大家批评指正. 进实验室后分配到的第一个项目,需要制作一个不确定层级树形菜单的数据接口,对于从来没实战编过程的 ...
- ligerui_ligerTree_005_动态增加“树”节点
动态添加ligerTree节点:效果图: 源码地址:http://download.csdn.net/detail/poiuy1991719/8571255 <%@ page language= ...
- ext 树节点操作
ext 树节点操作 tree :树 node:节点 1.全部展开 tree.expandAll(); 2.全部收缩 tree.collapseAll(); 3.得到父节点 node.parent ...
- winform treeview 通过节点名称添加子节点
/// <summary> /// 添加人员节点(利用TreeNodeCollection) /// </summary> /// <param name="t ...
随机推荐
- stl_map,set 用法
set: 集合a,b加起来,去重 hdu 1406 #include <iostream> #include<cstdio> #include<set> using ...
- 可执行文件(ELF)格式的理解
摘自http://www.cnblogs.com/xmphoenix/archive/2011/10/23/2221879.html 可执行文件(ELF)格式的理解 ELF(Executable an ...
- hdu 1575 Tr A(矩阵快速幂乘法优化算法)
Problem Description A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%. Input 数据的第一行是一个T,表示有T组数据. 每组数据的第一行有n ...
- odbc连接数据库
using System; using System.Collections.Generic; using System.Text; using Console = System.Console; u ...
- Linux学习3——磁盘文件管理系统与压缩和打包操作
一.写在前面 本节将对Linux的磁盘文件系统.文件的压缩打包等操作进行简要介绍. 二.完成目标 1.了解磁盘文件系统的接本知识 2.操作文件和目录的相关命令 3.文件系统的简单操作命令 4.Lin ...
- Http权威指南笔记(一) URI URL URN 关系
定义 URI:统一资源标识符(Uniform Resource Indentifier)用来标识服务器上的资源. URL:统一资源定位符(Uniform Resouce Locator)是资源标识符最 ...
- Window2003、xp远程备份数据库文件(xcopy+rar+pscp)
Window2003.xp远程备份数据库文件 xcopy+rar+pscp .bat脚本 Eg: xcopy d:\dbtest\*.* d:\dbtemp\ /y D:\backup\Rar.exe ...
- mysql中select distinct的用法
在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但 往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...
- XML字符串转化json
public static String XMLTOJSON(String XMLContent,String tag) { XMLSerializer xmlSerializer = new XM ...
- jQuery渐变弹出层
css: [css]#race{display:block;width:200px;height:50px;line-height:50px;text-align:center;background: ...