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并获得选中值的更多相关文章

  1. PHP 根据php传的值修改 select 中动态生成的 option 组的默认选中值

    有一个情况今天遇到了:通过后台传过来的一组下拉框的option值,需要默认选中其中某一项. html 部分是这样的: <select class="form-control" ...

  2. 【笔试题】Java 中如何递归显示一个目录下面的所有目录和文件?

    笔试题 Java 中如何递归显示一个目录下面的所有目录和文件? import java.io.File; public class Test { private static void showDir ...

  3. devexpress中gridcontrol头部添加垂直线(右边框)

    winform开发,用devexpress中的gridcontrol控件,头部默认是3D样式,当客户希望像内容一样扁平化显示且需要添加垂直线(右边框)时恶梦开始了..经过一阵摸索发现可以这样解决: 1 ...

  4. Devexpress 中对RedailMenu的使用

    最近项目中用到RadialMenu,效果图如下所示: 闲下来就对,devexpress中的RedialMenu的使用总结一下. 第一:假设RedialMenu中全部是BarButtonItem的情况. ...

  5. DevExpress中RibbonControl的简单应用

    现在介绍一下DevExpress中的RibbonControl的简单应用,搭建一个拥有Office2010风格的窗体程序. 第一步:打开VS2015,新建一个windows窗体应用程序: 第二步:把需 ...

  6. DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable

    绑定数据及定义列信息 LookUpEdit lue = lookUpEdit1; DataTable dt = new DataTable(); dt.Columns.Add(new DataColu ...

  7. DevExpress中的lookupedit的使用方法详解

    摘自: http://***/zh-CN/Info/catalog/17631.html 概述:本文详细介绍了DevExpress中的lookupedit的使用方法. 绑定数据源:   1 2 3 l ...

  8. 网络采集软件核心技术剖析系列(5)---将任意博主的全部博文下载到内存中并通过Webbrower显示(将之前的内容综合到一起)

    一 本系列随笔概览及产生的背景 自己开发的豆约翰博客备份专家软件工具问世3年多以来,深受广大博客写作和阅读爱好者的喜爱.同时也不乏一些技术爱好者咨询我,这个软件里面各种实用的功能是如何实现的. 该软件 ...

  9. DevExpress中实现GridControl的分页功能

    DevExpress中如何实现GridControl的分页功能 简介:DevExpress中如何实现GridControl的分页功能, 主要是利用DataNavigator和GridControl组合 ...

随机推荐

  1. iOS学习35数据处理之文件读写

    1. 沙盒机制 1> 沙盒概述 每一个iOS应用程序都会为自己创建一个文件系统目录(文件夹), 这个独立.封闭.安全的空间,叫做沙盒 注:① 每一个应用程序都会拥有一个应用程序沙盒 ② 应用程序 ...

  2. jsp页面中创建方法

    在JSP页面中是用 <%! void function(){ } %> 这种方式可以定义函数. 如果只使用 <% //todo %> 代码块中的代码在编译时将会都被加到 sev ...

  3. [BZOJ1072][SCOI2007] 排列prem

    Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0).例如123434有90种排列能被2整除,其中末位为2的有30种,末位为4的有60种. Input ...

  4. URAL 1117. Hierarchy(DP)

    题目链接 这破题,根本看不懂题意啊...题意:一棵中序遍历是1 2 3 4 5...的满二叉树,从a a+1 a+2 a+3 b,总共多少步.x到y的距离为中间有多少个点.a > b没注意2Y. ...

  5. 【POJ3461】Olipo

    Description The French author Georges Perec (1936–1982) once wrote a book, La disparition, without t ...

  6. Android -- 打开某个指定的网站

    1. 要使用的代码 Intent intent = new Intent(); intent.setData(Uri.parse(sUrl)); intent.setAction(Intent.ACT ...

  7. SpringMVC异常处理机制详解[附带源码分析]

    目录 前言 重要接口和类介绍 HandlerExceptionResolver接口 AbstractHandlerExceptionResolver抽象类 AbstractHandlerMethodE ...

  8. 深入浅出 - Android系统移植与平台开发(五)- 定制手机模拟器ROM

    一. 修改化定制Android4.0系统 Android系统启动时,先加载Linux内核,在Linux的framebuffer驱动里可以定制开 机界面,Linux内核启动成功后,挂载根文件系统,启动A ...

  9. lua日期与时间操作

    os.date("%Y%m%d%H%M%S", os.time()) <== 20160405141211 yyyyMMddHHmmss os.time()          ...

  10. JDBC学习笔记2

    数据库数据更新操作statement接口下操作:[代码] import java.sql.DriverManager;import java.sql.SQLException; public clas ...