代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
C#递归方法把数据表加载到treeview控件中
作者:
Dezai.CN
/ 发布于
2012/12/27
/
817
b/s和C/S方法用C#递归方法把数据表加载到treeview控件中
数据库结构 先看一下数据库的结构: 表结构如下所示: Num Name fatherNum BZ 01 总节点 0 ...... 0101 第一个一级节点 01 ...... 010101 第一个一级节点的第一个支节点 0101 ...... 010102 第一个一级节点的第二个支节点 0101 ...... 010103 第一个一级节点的第三个支节点 0101 ...... 0102 第二个一级节点 01 ...... 010201 第二个一级节点的第一个支节点 0102 ...... 0103 第三个一级节点 01 ...... 010301 第三个一级节点的第一个支节点 0103 ...... 01030101 第三个一级节点的第一个支节点 010301 ...... C/S代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 public void AddTree(string fatherNum, TreeNode pNode) { DataView dvTree = new DataView(ds.Tables[0]); dvTree.RowFilter = "[father Num] = " + fatherNum; foreach (DataRowView Row in dvTree) { TreeNode Node = new TreeNode(); if (pNode == null) { //添加根节点 Node.Text = Row["Name"].ToString(); treeView1.Nodes.Add(Node); AddTree(Row["Num"].ToString(), Node); //再次递归 } else { //添加当前节点的子节点 Node.Text = Row["Name"].ToString(); pNode.Nodes.Add(Node); AddTree(Row["Num"].ToString(), Node); //再次递归 } } } DataSet ds = new DataSet(); private void Form2_Load(object sender, EventArgs e) { SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;"); SqlDataAdapter da = new SqlDataAdapter("select * from test",conn); da.Fill(ds); TreeNode pNode=null; AddTree("0", pNode); } 下面是B/S结构的代码: B/S代码 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> 1 DataSet ds = new DataSet(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SqlConnection conn = new SqlConnection("server=.;database=test;uid=sa;pwd=;"); SqlDataAdapter da = new SqlDataAdapter("select * from test", conn); da.Fill(ds); TreeNode pNode = null; AddTree("0", pNode); } } public void AddTree(string fatherNum, TreeNode pNode) { DataRow[] dr = ds.Tables[0].Select("fatherNum=" + fatherNum); if (dr.Length > 0) { foreach (DataRow d in dr) { TreeNode tNode = new TreeNode(); tNode.Text = d["Name"].ToString(); if (pNode == null) { //添加根节点 TreeView1.Nodes.Add(tNode); } else { //添加当前节点的子节点 pNode.ChildNodes.Add(tNode); tNode.Collapse(); } AddTree(d["Num"].ToString(), tNode); //递归 } } }
试试其它关键字
treeview
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3