如何用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

时间: 2024-10-22 08:23:43

如何用ASPxTreeView建立三级树(显示及数据绑定)的相关文章

ACM:树的变换,根据表达式建立表达式树

题目:输入一个表达式,建立一个表达式树! 分析:找到最后计算的运算符(它是整棵表达式树的根),然后递归处理! 在代码中,只有当p==0的时候,才考虑这个运算符,因为括号里的运算符一定不是最后计算的,应当忽略! 由于加减跟乘除都是左结合的,最后一个运算符才是最后计算的,所以用两个变量c1跟c2分别记录在括号外面的"最右"出现的加减号和乘除号. #include <iostream> #include <string> using namespace std; co

[LintCode] Segment Tree Build 建立线段树

The structure of Segment Tree is a binary tree which each node has two attributes start and end denote an segment / interval. start and end are both integers, they should be assigned in following rules: The root's start and end is given by build meth

[LintCode] Segment Tree Build II 建立线段树之二

The structure of Segment Tree is a binary tree which each node has two attributes startand end denote an segment / interval. start and end are both integers, they should be assigned in following rules: The root's start and end is given bybuild method

Java实现后缀表达式建立表达式树

概述 表达式树的特点:叶节点是操作数,其他节点为操作符.由于一般的操作符都是二元的,所以表达式树一般都是二叉树. 根据后缀表达式"ab+cde+**"建立一颗树 文字描述: 如同后缀表达式求值一样,逐个读取后缀表达式的每一个符号,如果遇到操作数,建立一个节点把操作数的值加入这个节点,并把节点入栈:如果遇到操作符,弹出栈里的两个节点,并赋值为自己的左子节点.右子节点,最后把这个节点树入栈. 画图描述: 1.读入操作数a,创建节点,压入栈:读入操作数b,创建节点,压入栈 2.遇到操作符&q

如何用报表工具实现树状层级结构的填报表

需求说明 对于带有层级结构的数据中,用户为了能够更加清晰直观地查看,往往需要在数据展示时将层级展示出来,比如常见的省.市.县结构,或者一些科目中也会带有层级.通常,我们管这种形式叫做树状报表.在查询统计类报表中可以使用报表的左主格来实现,但是由于填报模型更加侧重于数据处理,格式设计上有别于查询统计报表,往往较难实现树状报表. 下面,我们通过一个层级科目的例子介绍一下在填报表中如何实现这个需求.首先,我们看一下报表展示的结果: 这个报表是一个按照科目录入数据的填报表,科目分不同等级,比如 1001

三级联动显示中国省市信息

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

eclipse 建立maven项目 显示红叉的解决方法

1.建立好之后就会发现项目有红叉. 这时发现查查在main处,打开项目>属性>Java Build Path>source,发现里边有红叉(如下图),这是由于我们的src/main下没有建立对应的编译路径main/java和test/java造成的,故添加这两个编译文件夹. 添加好编译文件夹之后,发现红叉还没有消失,这时发现红叉是由于index.jsp页面中的The superclass "javax.servlet.http.HttpServlet" was not

陈松松:如何用视频建立信任,用微信快速成交

每个视频,都是你的金牌业务员 这是我写的第47篇视频营销原创文章 与其搜索十年,不如花一年的时间学习,去赚9年的高薪! 成交不仅仅是方法问题,话术问题,更重要的是你需要做好两方面: 一个是信任,一个是欲望: 也就是成交实际上就是对信任的布局和欲望的布局. 但不管是信任布局还是欲望布局,你必须把每一个环节做到位,再配合成交的话术,那成交就非常简单了. 接下来我就教你如何把信任和欲望每一个环节做好: 1.信任布局 布局信任最快的方式就是贡献价值,你贡献的价值越好,越多,客户对你就会越深信不疑,此时信

AngularJS(二、如何用AngularJS建立前端代码框架)

首先,我们来看一下工程结构目录: 我们可以看到scripts中分列了一下几个文件夹:controllers.services.directives.filters.vendor,以及两个文件app.js和main.js. controllers里面主要就是控制器 services里面是服务,为控制器提供数据服务支持,与后台交互的代码就在其中 directives是指令,用于生成自定义标签的html模板 filters是过滤器,用于处理显示数据的形式 vendor文件夹中存放的是引用的第三方js插