zoukankan      html  css  js  c++  java
  • Asp.net 递归获取treeview数据绑定到下拉列表

    Asp.net 递归获取treeview数据绑定到下拉列表

    Treeview数据都是结构性的,一层一层的数据。如下图:文件夹结构

                           

    单在特定的区域要求将数据绑定到下拉列表的时候,所占的空间会更小,但怎样才能将这中结构在下拉列表上体现出来呢。如上图

    测试文档2和测试文档1为一级目录,Test&aimee为测试文档2下的节点;aimee,aimee1,test1为测试文档1下的节点。

    在下拉列表中怎样体现这种效果呢。。。先上效果图:

     

    下面讲解一下思路:

    1. 树控件中的数据是通过递归的方法绑定的。
    2. 同样地下拉列表的数据也可以通过递归的方法绑定,或者用循环也可以。(不建议直接绑定数据源,需要通过再次修改才能达到效果)
    3. 方法需要带入数据源和节点级别
    4. 同时编写文字前面区分的“-”号的方法。

    4.1 方法返回‘-’号组合的字符串,如第一级节点返回空,即没有‘-’号;第二级节点返回一个‘-’号,第三极节点返回两个‘-‘,依此类推。。

    5. 绑定数据,带入第一个节点时,设置绑定数据,设置级别。

    6. 查询该节点下是否有子节点,有获取子节点,组装子节点的字符,再绑定。无,返回,继续添加第一级节点。

    部分代码如下:

    private void Getfolder(SPFolder rootfolder,int level) 
            {
                
                
                if (rootfolder.SubFolders.Count > 0)
                {
                    foreach (SPFolder folder in rootfolder.SubFolders)
                    {
                        if (folder.Name.ToString() != "Forms")
                        {
                            string index = GetIndex(level) ;
                            this.DroplistType.Items.Add(new ListItem(index+folder.Name.ToString(), folder.UniqueId.ToString()));
    
                            int lev = level + 1;
                            Getfolder(folder, lev);
                            
                        }
                    }
                }
                else 
                {
                    level = 0;
                }
            }
    private string GetIndex(int level)
            {
                string index="";
                
                for (int i = 0; i < level;i++ )
                {
                    index += "-";
                }
                
                return index;
            }
  • 相关阅读:
    16、cgminer学习之:popen函数和system函数详解(执行系统命令)
    16、cgminer学习之:pthread_mutex_init和pthread_cond_init
    15、python学习手册之:元组、文件及其他
    15、python学习手册之:列表和字典
    Chorme浏览器中使用flash debug版本
    Best Practices
    Titled-Contributing to Tiled
    Titled
    VS2010配合SVN搭建使用
    Google code问题记录
  • 原文地址:https://www.cnblogs.com/zchblog/p/3101406.html
Copyright © 2011-2022 走看看