DevExpress中的ASPxTreeView 递归显示checknodes并获得选中值
aspx代码
<dx:ASPxTreeView ID="ASPxTreeView1" runat="server">
</dx:ASPxTreeView>
aspx.cs代码
protected void Page_Load(object sender, EventArgs e)
{
AddTree(, null);
}
private void AddTree(int Pid, TreeViewNode PNode)
{
SQLHelper sqlHelper = new SQLHelper();
string strSQL =
"SELECT * FROM test";
System.Diagnostics.Debug.WriteLine(strSQL);
DataSet ds = sqlHelper.ExecuteDataSet(strSQL);
DataTable dt = ds.Tables[];
)
{
DataView dv = new DataView(dt);
//过滤ParentID,得到当前的所有子节点 ParentID为父节点ID
dv.RowFilter = "[duty_parentid] = " + Pid;
//循环递归
foreach (DataRowView Row in dv)
{
//声明节点
TreeViewNode Node = new TreeViewNode();
//绑定超级链接
Node.NavigateUrl = String.Format("javascript:show('{0}')", Row["dutyName"].ToString());
//开始递归
if (PNode == null)
{
//添加根节点
Node.Text = Row["dutyName"].ToString();
ASPxTreeView1.Nodes.Add(Node);
Node.Expanded = false; //节点状态展开
AddTree(Int32.Parse(Row["dutyID"].ToString()), Node); //再次递归
}
else
{
//添加当前节点的子节点
Node.Text = Row["dutyName"].ToString();
PNode.Nodes.Add(Node);
Node.Expanded = false; //节点状态展开
AddTree(Int32.Parse(Row["dutyID"].ToString()), Node); //再次递归
}
}
}
}
获取选中的Nodes
private List<TreeViewNode> GetSelectNodes(TreeViewNodeCollection Nodes)
{
List<TreeViewNode> listNodes = new List<TreeViewNode>();
foreach (TreeViewNode node in Nodes)
{
FindCheckNode(node, listNodes);
}
return listNodes;
}
private void FindCheckNode(TreeViewNode node, List<TreeViewNode> listNodes)
{
if (node.Checked)
{
listNodes.Add(node);
}
foreach (TreeViewNode childnode in node.Nodes)
{
FindCheckNode(childnode, listNodes);
}
}
DevExpress中的ASPxTreeView 递归显示checknodes并获得选中值的更多相关文章
- PHP 根据php传的值修改 select 中动态生成的 option 组的默认选中值
有一个情况今天遇到了:通过后台传过来的一组下拉框的option值,需要默认选中其中某一项. html 部分是这样的: <select class="form-control" ...
- 【笔试题】Java 中如何递归显示一个目录下面的所有目录和文件?
笔试题 Java 中如何递归显示一个目录下面的所有目录和文件? import java.io.File; public class Test { private static void showDir ...
- devexpress中gridcontrol头部添加垂直线(右边框)
winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时恶梦开始了..经过一阵摸索发现可以这样解决: 1 ...
- Devexpress 中对RedailMenu的使用
最近项目中用到RadialMenu,效果图如下所示: 闲下来就对,devexpress中的RedialMenu的使用总结一下. 第一:假设RedialMenu中全部是BarButtonItem的情况. ...
- DevExpress中RibbonControl的简单应用
现在介绍一下DevExpress中的RibbonControl的简单应用,搭建一个拥有Office2010风格的窗体程序. 第一步:打开VS2015,新建一个windows窗体应用程序: 第二步:把需 ...
- DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable
绑定数据及定义列信息 LookUpEdit lue = lookUpEdit1; DataTable dt = new DataTable(); dt.Columns.Add(new DataColu ...
- DevExpress中的lookupedit的使用方法详解
摘自: http://***/zh-CN/Info/catalog/17631.html 概述:本文详细介绍了DevExpress中的lookupedit的使用方法. 绑定数据源: 1 2 3 l ...
- 网络采集软件核心技术剖析系列(5)---将任意博主的全部博文下载到内存中并通过Webbrower显示(将之前的内容综合到一起)
一 本系列随笔概览及产生的背景 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件 ...
- DevExpress中实现GridControl的分页功能
DevExpress中如何实现GridControl的分页功能 简介:DevExpress中如何实现GridControl的分页功能, 主要是利用DataNavigator和GridControl组合 ...
随机推荐
- Haskell 笔记 ③
①循环?NO!请递归思考问题! 手艹一个求列表中最大值代码,C语言中习惯性for扫一下比较出最大值.但是可以用递归! maximum'::(Ord a)=>[a]->a maximum' ...
- Sphinx 配置文件的说明【备忘】
## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python ...
- 【BZOJ】1086: [SCOI2005]王室联邦
http://www.lydsy.com/JudgeOnline/problem.php?id=1086 题意:n个点的树,要求分块,使得每一块的大小在[b, 3b]内且块与某个点形成的块是连通的(某 ...
- 关于SASS--->推荐使用
作为前端(html.javascript.css)的三大马车之一的css,一直以静态语言存在,HTML5火遍大江南北了.javascript由于NODE.JS而成为目前前后端统一开发语言的不二之选.只 ...
- mysql 的2个关于事务和安全性的参数
innodb_flush_log_at_trx_commit:(mysql写事物日志的方式) 0 log buffer 会每秒写入到日志文件中,并刷新到磁盘 (提交方式与事物无关,性能最好) 1 事 ...
- python 数据类型基础
Python3 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 4 +5 = 9 . 例子中,4 和 5 被称为操作数,"+" 称为运算符. 1.算术运 ...
- linux中,常用的账号管理命令
创建新用户:adduser 用户名创建新用户并将其加入一个现有组中:adduser 用户名 -G 组名创建新用户并使其只属于该组:adduser 用户名 -g 组名创建用户密码:passwd 用户名创 ...
- 关于VS打包程序无法弹出主界面的问题
代码中的程序很正常,VS打包之后,无法弹出主界面的问题. 这种问题,一般是缺少程序加载所必须的东西,包括dll,配置文件等. (1)程序主界面使用的是DevExpress,DevExpress的相关类 ...
- NeuSoft(4)编写字符设备驱动
1.要求:实现简单的字符设备驱动程序 2.源码清单 #include <linux/module.h> #include <linux/types.h> #include &l ...
- 将CachedRowSet中的数据转储到对象中
虽然还有很多bug,但凑合能用,就是将CachedRowSet中的数据转换成对象或List.省去了繁琐难看的一系列get/set方法. 先说调用: 注: cachedRowSet是查询的结果集 Stu ...