java实现树型结构方法一
2011-09-14 23:29
375 查看
//初始化树形目录。
//</summary>
protected void initTreeView()
{
//SQL语句:选择部门树的第一级节点。
string sqlDepartment="Select CateId,CateName,CateInxId,ParentCateId From TCategory Where CateInxId='dpt'";
//创建部门类的实例
Department myDepartment = new Department(sqlDepartment,myDepartName);
//清空数据集
myDepartDataSet.Clear();
//取得部门类的数据集
myDepartDataSet=myDepartment.getDepart();
//添加部门树的第一级节点,节点从部门类的数据集返回
//myDepartDataSet.Tables[myDepartName].Rows.Count为第一级节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//创建节点记录第一级部门信息
TreeNode aNode=new TreeNode(myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[1].ToString(),0,0);
//添加节点
myTreeView.Nodes.Add(aNode);
//设置节点的Tag标签值
myTreeView.Nodes[i].Tag=myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[0];
}
//添加部门树的各非根节点
//myDepartDataSet.Tables[myDepartName].Rows.Count为子节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//递归调用ExpandNode,扩展生成树形目录
ExpandNode(myTreeView.Nodes[i]);
}
}
/// <summary>
/// 扩展生成树形目录。
/// aNode为要扩展的节点。
/// </summary>
protected void ExpandNode(TreeNode aNode)
{
//SQL语句:选择部门树的非根节点。
string sqlDepartment="Select CateId,CateName,CateInxId,ParentCateId From TCategory Where ParentCateId='"+aNode.Tag+"'";
//创建部门类的实例
Department myDepartment = new Department(sqlDepartment,myDepartName);
//清空数据集
myDepartDataSet.Clear();
//取得部门类的数据集
myDepartDataSet=myDepartment.getDepart();
//添加部门树的非根节点,节点从部门类的数据集返回
//myDepartDataSet.Tables[myDepartName].Rows.Count为节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//创建节点记录部门信息
TreeNode bNode=new TreeNode(myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[1].ToString(),1,2);
//添加节点
aNode.Nodes.Add(bNode);
//设置节点的Tag标签值
aNode.Nodes[i].Tag=myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[0];
}
//添加部门树的各非根节点
//myDepartDataSet.Tables[myDepartName].Rows.Count为子节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//递归调用ExpandNode,扩展生成树形目录
ExpandNode(aNode.Nodes[i]);
}
}
//</summary>
protected void initTreeView()
{
//SQL语句:选择部门树的第一级节点。
string sqlDepartment="Select CateId,CateName,CateInxId,ParentCateId From TCategory Where CateInxId='dpt'";
//创建部门类的实例
Department myDepartment = new Department(sqlDepartment,myDepartName);
//清空数据集
myDepartDataSet.Clear();
//取得部门类的数据集
myDepartDataSet=myDepartment.getDepart();
//添加部门树的第一级节点,节点从部门类的数据集返回
//myDepartDataSet.Tables[myDepartName].Rows.Count为第一级节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//创建节点记录第一级部门信息
TreeNode aNode=new TreeNode(myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[1].ToString(),0,0);
//添加节点
myTreeView.Nodes.Add(aNode);
//设置节点的Tag标签值
myTreeView.Nodes[i].Tag=myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[0];
}
//添加部门树的各非根节点
//myDepartDataSet.Tables[myDepartName].Rows.Count为子节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//递归调用ExpandNode,扩展生成树形目录
ExpandNode(myTreeView.Nodes[i]);
}
}
/// <summary>
/// 扩展生成树形目录。
/// aNode为要扩展的节点。
/// </summary>
protected void ExpandNode(TreeNode aNode)
{
//SQL语句:选择部门树的非根节点。
string sqlDepartment="Select CateId,CateName,CateInxId,ParentCateId From TCategory Where ParentCateId='"+aNode.Tag+"'";
//创建部门类的实例
Department myDepartment = new Department(sqlDepartment,myDepartName);
//清空数据集
myDepartDataSet.Clear();
//取得部门类的数据集
myDepartDataSet=myDepartment.getDepart();
//添加部门树的非根节点,节点从部门类的数据集返回
//myDepartDataSet.Tables[myDepartName].Rows.Count为节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//创建节点记录部门信息
TreeNode bNode=new TreeNode(myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[1].ToString(),1,2);
//添加节点
aNode.Nodes.Add(bNode);
//设置节点的Tag标签值
aNode.Nodes[i].Tag=myDepartDataSet.Tables[myDepartName].Rows[i].ItemArray[0];
}
//添加部门树的各非根节点
//myDepartDataSet.Tables[myDepartName].Rows.Count为子节点的个数,i为节点的Index
for(int i=0;i<myDepartDataSet.Tables[myDepartName].Rows.Count;i++)
{
//递归调用ExpandNode,扩展生成树形目录
ExpandNode(aNode.Nodes[i]);
}
}
相关文章推荐
- dropdownlist实现树型结构的栏目信息的两种方法
- Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法)
- java基本树型结构实现
- 马士兵 Java 第5章(1) 分别使用面向对象和面向结构(数组)的设计方法来实现“数三退一”
- java、js中实现无限层级的树形结构方法(类似递归)
- Oracle递归实现树型结构两种方法
- Java数据结构之双端链表原理与实现方法
- java实现树型结构样式
- 使用 Java8 实现观察者模式的方法(下)
- java实现二叉树的构建以及3种遍历方法
- java实现栈结构解析
- Java数据结构之栈的基本定义与实现方法示例
- java交换排序之鸡尾酒排序实现方法
- java、php、C#、asp实现短信群发功能的方法
- java中随机类 Random实现方法
- Java 中多线程的实现方法之Thread和Runnable
- Java实现定时任务的三种方法
- 【Java】【TIJ】实现一个类:不允许用构造方法来直接创建类实例(对象)
- Java小程序---接口中抽象方法的实现(解决了JAVA语言不能多继承的问题)
- java JNI 实现原理 (四) 初始化JNI方法