如何用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+**"建立一颗树 文字描述: 如同后 ...
随机推荐
- 原生JavaScript实现的addclass,removeclass,hasclass,toggleclass,getbyclass
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- The tag 'ChartPlotter' does not exist in XML namespace
本地build的时候每次都是OK的,但是Shelveset到Server上build的时候,总是出错. 果断google/bing了几个建议,无果. 不得不重新仔细的看server上的building ...
- MySql语句大全:创建、授权、查询、修改等
林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.用户创建.权限.删除 1.连接MySQL操作 连接:mysql -h 主机地址 -u 用户 ...
- spring2.5整合hibernate3.0整合Struts
首先:这是spring framework+hibernate+struts集成,spring主要用于aop和ioc,hibernate主要是用于持久层,struts主要是用于mvc. 同时关于spr ...
- Redis简介及3.0.2编译安装
由于项目需要Redis作为内存数据库,所以也开始搞Redis~ Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).l ...
- HDU 2897 邂逅明下(巴什博奕)
题意: 每行有三个数字n,p,q,表示一堆硬币一共有n枚,从这个硬币堆里取硬币,一次最少取p枚,最多q枚,如果剩下少于p枚就要一次取完.两人轮流取,直到堆里的硬币取完,最后一次取硬币的算输.对于每一行 ...
- python(8) 自己制造异常让程序退出,把print的内容写入到文件
异常 也可以自己输出异常原因: raise Exception("404 404 404") import math import time #print 到文件的代码****** ...
- java 编译中没有清除之前编译出来的文件。
最近在写一个类时候使用了内部类,然后又将这个类改用普通类来实现.但在运行时访问局部变量时候出现了NullPointException异常,想来想去没有想明白,后来清除了一个之前编译出来的文件*.cla ...
- UCOS-2 消息邮箱与队列
一个有趣的网络解释: 信号量就是中央政府发给官人做一方大员的官印,有很多种官印但是不能一印多发,得到官印者才能掌权鱼肉一方百姓(任务得到信号量才能运行),否则你就只要等官跑官.(当然官印也可随时被政府 ...
- Guava 12-数学运算
范例 int logFloor = LongMath.log2(n, FLOOR); int mustNotOverflow = IntMath.checkedMultiply(x, y); long ...