C#递归所以部门展示到TreeView
C#递归所以部门展示到TreeView
1.首先是数据库表的设计
新建一张部门表:TestUser表
1.ID自增int主键 2.DeptName:nchar(10)3.DeptCode:nchar(10)4:ParentID:nchar(10)
2.部门表就建好了
3.新建一个网站
4.在网站的default.aspx界面拖一个TreeView控件。
5.aspx.cs代码如下:
public static string strConn=ConfigurationManager.ConnectionStrings["connString"].ConnectionString.ToString();//数据库连接串 protected void Page_Load(object sender,EventArgs e)
{
if(!isPostBack)
{
BindDeptTree("0");//数据库你也可以设计成int类型
}
} private void BindDeptNode(TreeNode DTnode)
{
try
{
DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
TreeNode node=new TreeNode();
node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString();
node.Value=ds.Tables[0].Rows[i][DeptCode].ToString();
DTnode.ChildNodes.Add(node);//把指定的节点添加到控件中
BindDeptNode(node);
}
}
catch(Exception ex)
{
Log.LogWrite(ex.Message);
}
} private void BindDeptTree(string ParentID)
{
DataSet=reDs("select DeptName,DeptCode from TestUser where ParentID='"+DTnode.Value+"'");
for(int i=0;i<ds.Tables[0].Rows.Count;i++)
{
TreeNode node=new TreeNode();
node.Text=ds.Tables[0].Rows[i]["DeptName"].ToString();
node.Value=ds.Tables[0].Rows[i][DeptCode].ToString();
tvData.Nodes.Add(node);//TreeView的IDtvData
BindDeptNode(node);
}
} public DataSet reDs(string strSql)
{
using(SqlConnection conn=new Sqlconnection(strConn))
{
conn.Open();
DataSet ds=new DataSet();
SqlDataAdapter da=new SqlDataAdapter (strSql,conn);
da.Fill(ds);
conn.close();
return ds;
}
}
运行结果如下图:
希望对大家有帮助。有不足的地方望指教。尊重原创,转载请注明出处。
C#递归所以部门展示到TreeView的更多相关文章
- WPF下递归生成树形数据绑定到TreeView上
最终效果图:(用于学习类的效果 图片丑了点,看官莫怪) 新建窗体 然后在前端适当位置插入如下代码: <TreeView x:Name="> <TreeView.ItemTe ...
- ASP.NET 递归将分类绑定到 TreeView
CREATE TABLE [dbo].[sysMenuTree]([NoteId] [decimal](18, 0) NOT NULL,[ParentId] [decimal](18, 0) NULL ...
- 部门子部门表结构,递归指定部门的所有子部门SQL函数
- Java递归获取部门树 返回jstree数据
@GetMapping("/getDept")@ResponseBodypublic Tree<DeptDO> getDept(String deptId){ Tree ...
- 潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据
原文:潜移默化学会WPF(难点控件treeview)--改造TreeView(CheckBox多选择版本),递归绑定数据 目前自己对treeview的感慨很多 今天先讲 面对这种 表结构的数据 的其中 ...
- net TreeView 递归
1.显示效果 2.数据insert脚本 insert into CITY(id,text,pid) values('1','城市',null)insert into CITY(id,text,pid ...
- SQL笔记 - CTE递归实例:显示部门全称
昨天在整理JS的Function时,示例是一个递归函数.说起递归,想起前段时间在搞CTE,那个纠结呀,看似容易,可我总抓不住门道,什么递归条件,什么结束条件,一头雾水...今天一大早就爬起来,果然不负 ...
- bootstrap treeview 树形数据生成
这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...
- TreeView 树节点的处理
TreeView 树节点的处理 using System; using System.Collections.Generic; using System.ComponentModel; using S ...
随机推荐
- 【poj2553】The Bottom of a Graph(强连通分量缩点)
题目链接:http://poj.org/problem?id=2553 [题意] 给n个点m条边构成一幅图,求出所有的sink点并按顺序输出.sink点是指该点能到达的点反过来又能回到该点. [思路] ...
- shell编程学习2
1.shell中调用linux命令(1)直接执行(2)反引号括起来执行.有时候我们在shell中调用linux命令是为了得到这个命令的返回值(结果值),这时候就适合用一对反引号(键盘上ESC按键下面的 ...
- //可以不保存在session中, 并且前面我保存在request,这里session也可以获取 chain.doFilter(request, response); //只有登录名不为空时放行,防止直接登录 成功的页面
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOE ...
- win+D可以最小化所有窗口,显示桌面 win+E可以快速打开我的电脑 这两个对我来说非常常用,要用熟练,节约时间
win+D可以最小化所有窗口,显示桌面 win+E可以快速打开我的电脑
- 2017.11.16 STM8L052 温度控制器
1 J-link和ST-link的兼容性 STM8只能用ST-link.J-link兼容所有的(大部分而已)的ARM内核IC mark: http://bbs.eeworld.com.cn/thre ...
- oracle的序列号(sequence)
oracle的自增列,要采用序列号(sequence). 初始化阶段要手动建立一个sequence,然后插入的时候,还要手动自己去读这个sequence的nextval赋给相关字段,如ID,麻烦的很. ...
- 预热篇- 总结Delphi Xe4 做App的的可行性分析. ios平台的问题还需要自行学习
首先澄清一个问题, 很多同学其实是误会了, 以为只要搞定了Delphi 就能很快写快餐程序了. ios 本身的知识还是需要一些的, 并没有什么捷径可以走. 但如果一个团队有分工协作的话, Delph ...
- Metasploit的基本使用
Metasploit可以在Linux.Windows和Mac OS X系统上运行.我假设你已安装了Metasploit,或者你使用的系统是Kali Linux.它有命令行接口也有GUI接口. 我使用的 ...
- HDU - 233 Matrix
原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=5015 解题思路:一看到题目,感觉是杨辉三角形,然后用组合数学做,不过没想出来怎么做,后来看数据+递推思 ...
- Python基本特殊方法之__new__
__new__()和不可变对象 __new__方法的一个用途是初始化不可变对象,__new()__方法中允许创建未初始化的对象,这允许我们在__init__()方法被调用之前先设置对象的属性 例:为f ...