递归创建treeview

private void InitTree(TreeNode node, int pid)
{

for (int i = 0; i < dt1.Rows.Count; i++)
{
if (Convert.ToInt32(dt1.Rows[i]["pid"].ToString()) == pid)
{
TreeNode newNode = new TreeNode(dt1.Rows[i]["name"].ToString());
node.Nodes.Add(newNode);
InitTree(newNode, Convert.ToInt32(dt1.Rows[i]["id"].ToString()));
}
}

时间: 2024-11-05 18:46:19

递归创建treeview的相关文章

利用php函数mkdir递归创建层级目录

项目开发中免不了要在服务器上创建文件夹,比如上传图片时的目录,模板解析时的目录等.这不当前手下的项目就用到了这个,于是总结了几个循环创建层级目录的方法. php默认的mkdir一次只能创建一层目录,而要逐层创建各级目录的话,一般都是先从父创建,然后逐层往下创建,但是这样手工创建的话,有点太过于麻烦了. 我们写程序是做什么的?不久是为了能自动化实现我们需要的功能么,这里的方法就是为了能够通过程序帮我们自动创建完成层级目录. Ruesin.com 思路有两种: 一.从上往下(父级→子级) 1.先判断

Convert Sorted List to Binary Search Tree ------C++ 递归创建平衡二叉查找树

有序链表 0->1->2->3->4->5 转换为一个二叉排序树.我们在此创建一个平衡二叉排序树 1.先找链表到中间的节点 2.中间节点的val创建一个新的树节点TreeNode 3.将链表断裂为2部分 4.递归创建左子树和右子树 #include<iostream> #include<cstdlib> using namespace std; struct ListNode { int val; ListNode *next; ListNode(in

几个数据库的小案例(三):用递归实现TreeView层级显示

从这个小案例我学到了不少知识.这些无论如何无法从书里得来.正所谓实践出真知,学习编程需要大量实践这句话永不过时. 首先:好的代码和坏的代码带来的性能上的差异很明显.好的策略可以让你的程序运行速度大大加快.而差的代码则能让你的程序直接卡死. 这是我写的递归填充TreeView: private void GetNode1(TreeNode tNod, int id) { using (SqlConnection conn = new SqlConnection("server=.\\sqlexpr

二叉树的递归创建

1.树 (1).树形结构本身具有递归的性质(在其后的编程中体现的淋漓尽致)! 树是一种非常重要的非线性结构. (2).几个概念:结点的度,就是分支个数(孩子个数): 树的度,结点度中最大的(孩子最多的): 非叶子结点,度 > 0 (有孩子结点): 叶子结点,度为0的 (没有孩子结点): 树的高度,从1开始算: (3).为什么要学习二叉树? 原因:所有的树形结构(包括森林)都可以转化为二叉树.二叉树是树形结构的基础, 只有学好了二叉树才能学好其它的. 2.二叉树 (1).二叉树分左右,所以又叫做有

PHP递归创建多级目录(一道面试题的解题过程)

今天看到一道面试题,要写出一个可以创建多级目录的函数: 我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存在”的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); /

递归创建二叉树遇到的一个bug

今天上午在(先序)递归创建二叉树时遇到了一个bug,以下是程序部分: (关于递归创建二叉树这位前辈讲的很清楚,http://blog.csdn.net/stpeace/article/details/8138303) 1 void PreTraverse(PBiNode T) 2 { 3 if(!T) 4 return; 5 printf("%c", T->data); 6 PreTraverse(T->leftch); 7 PreTraverse(T->rightc

递归创建、删除目录的几个函数

递归创建目录1: 需要#include <shlwapi.h>,并且配置好shlwapi.ib BOOL CreateDirTree( LPCTSTR lpPath ) { if( NULL == lpPath || _tcslen(lpPath)==0 ) { return FALSE; } if( ::PathFileExists( lpPath) || ::PathIsRoot(lpPath) ) return TRUE; TCHAR szParentpath[MAX_PATH] = _

C++递归创建文件夹

根据传入的参数递归进行目录的创建. 函数描述: 递归创建目录. 入参: 所要创建的目录. 返回值: 创建成功,返回TRUE:否则返回FALSE. 1 BOOL CreateDirTree(LPCTSTR lpPath) 2 { 3 if( (NULL == lpPath) || (0 == _tcslen(lpPath))) 4 { 5 return FALSE; 6 } 7 8 if((TRUE == PathFileExists(lpPath)) || (TRUE == PathIsRoot

非递归创建二叉树( C++队列 )

非递归按照 层序 创建二叉树,利用 队列(即可先进先出特点)存放已访问的结点元素的地址. 初始化:front=rear= -1: 每储存一个结点元素 rear+1 ,利用 rear%2==0 来使 front+1 回车表示结点输入完毕 1 // 结构体 2 struct Node { 3 char data; 4 Node * lchild; 5 Node * rchild; 6 }; 7 /* 类 class Tree中的私有构造方法 Node * Create() 8 注:该方法需要 以层序