文档章节

TreeView(C#)无限目录树代码片段

深圳大道
 深圳大道
发布于 2016/12/29 15:38
字数 226
阅读 21
收藏 0
#region 绑定客户树
    protected void bindTreeView()
    {
        TreeView1.Nodes.Clear();
        string userid = Session["UserID"].ToString();
        string sqlwr = new SY_ADMINUSER().GetUserIDListByLoginUser(userid, "CUSTOMERSERVICE", false);
        DataTable dt = Maticsoft.DBUtility.DbHelperOra.Query("Select PARENTID,CUSTOMERID,CUSTOMERSHORT,CUSTOMERSERVICE from CU_CUSTOMER where ISDELETE='0' " + sqlwr + " order by CUSTOMERSHORT ").Tables[0];
        //定义临时树节点  
        TreeNode tmpNd;

        //特殊处理
        foreach (DataRow dr in dt.Rows)
        {
            DataRow[] drs = dt.Select("CUSTOMERID='" + dr["PARENTID"] + "'");
            if (drs.Length == 0) //无上级节点
            {
                dr["PARENTID"] = "0";
            }
        }
        dt.AcceptChanges();

        //从DataTable中得到所有父节点为null的DataRow形成的数组  
        DataRow[] rows = dt.Select("PARENTID='0'");
        //遍历根节点数组  
        foreach (DataRow row in rows)
        {
            tmpNd = new TreeNode();
            //给根节点赋值  
            tmpNd.Value = row["CUSTOMERID"].ToString();
            tmpNd.Text = row["CUSTOMERSHORT"].ToString();
            tmpNd.Expanded = true;
            //将节点加入到树中  
            TreeView1.Nodes.Add(tmpNd);
            AddTree(dt, TreeView1, tmpNd, row["CUSTOMERID"].ToString());
        }
    }

    public void AddTree(DataTable dt, TreeView tv, TreeNode pNode, string CUSTOMERID)
    {
        DataRow[] rows = dt.Select("PARENTID='" + CUSTOMERID + "'");
        TreeNode tmpNd;
        foreach (DataRow row in rows)
        {
            tmpNd = new TreeNode();
            //给根节点赋值  
            tmpNd.Value = row["CUSTOMERID"].ToString();
            tmpNd.Text = row["CUSTOMERSHORT"].ToString();
            tmpNd.Expanded = true;
            pNode.ChildNodes.Add(tmpNd);
            //将节点加入到树中  
            //TreeView1.Nodes.Add(pNode);
            AddTree(dt, TreeView1, tmpNd, row["CUSTOMERID"].ToString());
        }
    }
    #endregion

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/9468457

共有 人打赏支持
深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
细谈c#添加搜索框和对话框

软件添加搜索框,实际上就是在边框中加入一些元素,一般是用于应用程序插件程序。特别是在浏览器(Crome,IE,Firefox,Opera)中的右方搜索框的应用。 一般用c#中wpf就可以实现,前提安装visual ...

crossmix
2016/01/06
344
0
WPF 4 目录树型显示

本篇将通过WPF4 制作简单的目录树型结构显示实例,完成本篇内容我们将作出下图所示的应用程序。 从图中我们可以看到程序主要分为两部分:左边显示本地驱动器的目录树型列表,右边显示被选中目...

junwong
2012/03/09
958
0
C# - 解决TreeView控件复选框联动时鼠标点击过快导致的显示不正确的问题

今天我在试着做一个C#树形视图(TreeView)控件,要求在每个节点前面添加一个可用于打勾的复选框,并要求复选框有上下级联动的效果。现在在网上能查到挺多满足这类功能的代码,原本我也以为这...

北风其凉
2015/12/26
585
0
关于C# WinForm_Tree View的一些基本用法(摘抄)

下面是treeview的用法 TreeView组件是由多个类来定义的,TreeView组件是由命名空 间"System.Windows .Forms"中的"TreeView"类来定义的,而其中的 节点(即Node),是由命名空间"System.Windows......

白衣こせん.
2018/12/06
0
0
C# 语言表现树形结构—TreeView高级用法指南

最近由于项目的关系,对Microsoft在各种编程语言中提供的TreeView控件做了一些研究。最初在网上查了一下,除了Microsoft的MSDN有些分散的knowledge, 并没有发现有这方面主题文章,于是有了写...

长平狐
2012/06/11
674
0

没有更多内容

加载失败,请刷新页面

加载更多

单点登录实现原理(SSO)

简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些...

echojson
11分钟前
0
0
介绍Python中6个序列的内置类型

1、Python中6个序列的内置类型分别是什么? Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和 xrange 对象。序列通用的操作包括:索引、长度、组合(序列相加)...

问题终结者
31分钟前
0
0
用python自制微信机器人,定时发送天气预报

0 引言 前段时间找到了一个免费的天气预报API,费了好段时间把这个API解析并组装成自己想用的格式了,就想着如何实现每天发送天气信息给自己。最近无意中发现了wxpy库,用它来做再合适不过了...

上海小胖
49分钟前
7
0
深入理解java虚拟机-垃圾收集器与内存分配策略

垃圾收集器与内存分配策略 引用计数法 就是给对象添加一个计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1,计数器为0的对象就是不可能再被使用的。 缺点:无法...

须臾之余
今天
8
0
Python+Appium自动化测试环境搭建

1.Android SDK 下载SDK并配置系统环境变量ANDROID_HOME。 2.Appium 2.1 直接下载安装 官网下载安装appium-desktop-setup.exe。 2.2 通过npm下载安装 appium本质是一个nodejs库所以要先安装n...

维他ViTa
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部