如何用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+**"建立一颗树 文字描述: 如同后 ...
随机推荐
- Linux xargs命令
xargs是给命令传递参数的一个过滤器,也是组合多个命令的一个工具.它把一个数据流分割为一些足够小的块,以方便过滤器和命令进行处理.通常情况下,xargs从管道或者stdin中读取数据,但是它也能够从 ...
- Android权限之sharedUserId和签名
转自:http://blog.csdn.net/hmg25/article/details/6447067 最近在做个东西,巧合碰到了sharedUserId的问题,所以收集了一些资料,存存档备份. ...
- ASP.NET MVC之从控制器传递数据到视图四种方式
前言 本系列开始着手讲述ASP.NET MVC,也算是自己对基础的回顾以及进一步深入学习,保证每天发表一篇该系列文章,关于基本知识则不再叙述,园子有关文章不胜枚举,这一系列若有叙述不当或错误之处,欢迎 ...
- PLSQL_基础系列11_递归和层次查询CONNECT BY(案例)
2015-05-31 Created By BaoXinjian
- hdu 1532 Dinic模板(小白书)
hdu1532 输入n,m. n条边,m个点,之后给出a到b的容量,求1到m的最大流. 注意:Dinic只能调用一次,因为原理是改变cap的值,如果调用多次一样的,那么第一次会对,其余的都会是0,因为 ...
- "运行时"如何解析类型引用
先将下面的代码保存到文本中,存放到一个目录下面,E:\aa.txt public sealed class Program{ public static void Main(){ System.Con ...
- 【JavaScript】JavaScript模拟Class
beauty("$Class",["$underscore"],function(_){ var Class = function () { var lengt ...
- 转载__Android开源项目(二)
http://www.csdn.net/article/1970-01-01/2815145 GitHub上的开源项目不胜枚举,通过这些项目,也能让开发者在应用开发过程中事半功倍,作为开发者的你,在用 ...
- Eclipse中对Python代码自动格式化!
在Eclipse中使用PyDev发现无法进行代码格式化,使用通常的"Ctrl+Shift+F"快捷键,没有任何变化,难道不能对python代码格式化了吗? 通过下面设置,就可以每次 ...
- git重写历史记录
1 修改上一次历史提交,替换掉上次的提交git commit --amend 2 git rebase 将不同分支路径合并到同一分支路径上eg:将master分支上的 conflic rebase合并 ...