如何用ASPxTreeView建立三级树(显示及数据绑定)
示例如图:
//设置treeviw默认为第一个菜单打开
if (ASPxTreeView1.SelectedNode == null)
ASPxTreeView1.SelectedNode = ASPxTreeView1.Nodes[0];
前端控件代码:
<dx:ASPxTreeView ID="ASPxTreeView1" ClientInstanceName="ASPxTreeView1" runat="server" Width="100%" AllowSelectNode="True" AutoPostBack="false" Styles-NodeText-Font-Size="10px">
<ClientSideEvents Init="TreeNodeClick" NodeClick="TreeNodeClick" />
</dx:ASPxTreeView>
后天代码:
//数据绑定(重点)
#region 建立树状菜单
// 创建主菜单
private void CreateMenu()
{
//MainFrameState mainFrameState = new MainFrameState();
//d_loginUserId = mainFrameState.LoginUserID;
DataTable dt = new DataTable();
dt = platbll.GetB1tree().Tables[0];
if (dt.Rows.Count > 0)
{
DataRow[] mainRow = (DataRow[])dt.Select();
foreach (DataRow row in mainRow)
{
_treenode = new TreeViewNode();
_treenode.Text = row["PEONAME"].ToString();
_treenode.ToolTip = row["treepeoid"].ToString();// 储存一个id
ASPxTreeView1.Nodes.Add(_treenode);
if (row["treepeoid"].ToString()!=null)
{
CreateChildMenu(int.Parse(row["treepeoid"].ToString()), _treenode);
}
}
}
}
// B1级菜单
private void CreateChildMenu(int d_parentID, TreeViewNode TVN)
{
DataTable dt = new DataTable();
dt = platbll.GetB2tree(d_parentID).Tables[0];
DataRow[] childRow = (DataRow[])dt.Select();
foreach (DataRow row in childRow)
{
_treenode = new TreeViewNode();
_treenode.Text = row["PEONAME"].ToString();
_treenode.ToolTip = row["treepeoid"].ToString();
TVN.Nodes.Add(_treenode);
// ASPxTreeView1.Nodes.Add(TVN);
if (row["treepeoid"].ToString() != null)
{
CreateChildMenu1(int.Parse(row["treepeoid"].ToString()), _treenode);
}
}
}
// B2、B3级菜单
private void CreateChildMenu1(int d_parentID, TreeViewNode TVN)
{
DataTable dt = new DataTable();
dt = platbll.GetB2tree(d_parentID).Tables[0];
DataRow[] childRow = (DataRow[])dt.Select();
foreach (DataRow row in childRow)
{
_treenode = new TreeViewNode();
_treenode.Text = row["PEONAME"].ToString();
_treenode.ToolTip = row["treepeoid"].ToString();
TVN.Nodes.Add(_treenode);
}
}
#endregion
如何用ASPxTreeView建立三级树(显示及数据绑定)的更多相关文章
- 如何用ChemDraw建立多中心结构
通过调整ChemDraw多中心机构的连接可绘制有意义的络合物结构,建立中心原子和络合配体后,利用多中心化学键连接上述结构即可.以下内容将具体介绍如何用ChemDraw建立多中心结构. 一.多中心键和多 ...
- [LintCode] Segment Tree Build 建立线段树
The structure of Segment Tree is a binary tree which each node has two attributes start and end deno ...
- SPOJ 10628 COT - Count on a tree(在树上建立主席树)(LCA)
COT - Count on a tree #tree You are given a tree with N nodes.The tree nodes are numbered from 1 to ...
- HDU-2795Billboard+对宽度建立线段树
参考: https://blog.csdn.net/qiqi_skystar/article/details/49073309 传送门:http://acm.hdu.edu.cn/showprobl ...
- java查询三级树(三级目录)
背景: 三级树实现效果 这里只介绍,查询数据库,构建三级目录的后端业务逻辑 1.创建查询类(对应数据库需要查出的字段) @Data @AllArgsConstructor @NoArgsConstru ...
- 手摸手,带你用vue实现后台管理权限系统及顶栏三级菜单显示
手摸手,带你用vue实现后台管理权限系统及顶栏三级菜单显示 效果演示地址 项目demo展示 重要功能总结 权限功能的实现 权限路由思路: 根据用户登录的roles信息与路由中配置的roles信息进行比 ...
- jquery easyui菜单树显示
目前做了一个easyui项目需要显示多级菜单,菜单配置到数据库中,因此每级菜单都需要到数据库中取,用了jQuery EasyUI方便多了. 效果体验:http://hovertree.com/texi ...
- [LintCode] Segment Tree Build II 建立线段树之二
The structure of Segment Tree is a binary tree which each node has two attributes startand end denot ...
- Java实现后缀表达式建立表达式树
概述 表达式树的特点:叶节点是操作数,其他节点为操作符.由于一般的操作符都是二元的,所以表达式树一般都是二叉树. 根据后缀表达式"ab+cde+**"建立一颗树 文字描述: 如同后 ...
随机推荐
- 127 Word Ladder
Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest t ...
- 【Mongodb】3.0 配置身份验证db.createUser()说明
原文地址:http://bbs.51cto.com/thread-1146654-1.html 定义: 创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误. ...
- Java AES加密
Java AES 加密 加密 /** * * @description 加密 * * @param content 需要加密的内容 * @param password 加密密码 * @return * ...
- 黄聪:解决丢失api-ms-win-crt-runtime-|1-1-0.dll的问题:vc_redist.x64
解决无法启动程序,因计算机中丢失api-ms-win-crt-runtime-|1-1-0.dll的问题 安装:Microsoft Visual C++ 2015 RC Redistributable ...
- Oracle远程数据库一直连接不上的原因:多了个空格
- C++命名空间 namespace的作用和使用解析
一. 为什么需要命名空间(问题提出) 命名空间是ANSIC++引入的可以由用户命名的作用域,用来处理程序中 常见的同名冲突. 在 C语言中定义了3个层次的作用域,即文件(编译单元).函数和复合语句.C ...
- JAVA if条件语句,switch多分支结构,与逻辑运算符
一.if条件语句 示例: import java.util.Scanner; public class Test{ public static void main(String[] args){ Sc ...
- Gradle学习
Gradle是一种构建工具,它抛弃了基于XML的构建脚本,取而代之的是采用一种基于Groovy的内部领域特定语言.近期,Gradle获得了极大的关注,这也是我决定去研究Gradle的原因. 这篇文章是 ...
- CentOS安装apache2(转载)
From:http://www.onepx.com/centos-apache-246.html 之前服务器 Apache 版本一直是 2.2.x,鉴于 Centos 更新软件的惰性,我看直到 201 ...
- 记录更新rbenv 和 ruby-build安装2.3的ruby注意细节
安装就不说了,官网有,但是今天发布了ruby2.3,所以更新一下 进入.rbenv目录,执行git pull 更新,但是更新了rbenv,执行rbenv install -l 并没有最新的2.3.0 ...