zoukankan      html  css  js  c++  java
  • 绑定生成一个有树结构的下拉菜单

            ///   <summary> 
            ///   绑定生成一个有树结构的下拉菜单 
            ///   </summary> 
            ///   <param   name= "dtNodeSets "> 菜单记录数据所在的表 </param> 
            ///   <param   name= "strParentColumn "> 表中用于标记父记录的字段 </param> 
            ///   <param   name= "strRootValue "> 第一层记录的父记录值(通常设计为0或者-1或者Null)用来表示没有父记录 </param> 
            ///   <param   name= "strIndexColumn "> 索引字段,也就是放在DropDownList的Value里面的字段 </param> 
            ///   <param   name= "strTextColumn "> 显示文本字段,也就是放在DropDownList的Text里面的字段 </param> 
            ///   <param   name= "drpBind "> 需要绑定的DropDownList </param> 
            ///   <param   name= "i "> 用来控制缩入量的值,请输入-1 </param> 
    
            #region private void MakeTree(DataTable dtNodeSets, string strParentColumn, string strRootValue, string strIndexColumn, string strTextColumn, DropDownList drpBind, int i)
    
            private void MakeTree(DataTable dtNodeSets, string strParentColumn, string strRootValue, string strIndexColumn, string strTextColumn, DropDownList drpBind, int i)
            {
                //每向下一层,多一个缩入单位 
                i++;
    
                DataView dvNodeSets = new DataView(dtNodeSets);
                dvNodeSets.RowFilter = strParentColumn + "= '" + strRootValue + "' ";
    
                string strPading = " ";     //缩入字符
    
                //通过i来控制缩入字符的长度,我这里设定的是一个全角的空格 
                for (int j = 0; j < i; j++)
                    strPading += " ";//如果要增加缩入的长度,改成两个全角的空格就可以了
    
                foreach (DataRowView drv in dvNodeSets)
                {
                    //TreeNode tnNode = new TreeNode();
                    ListItem li = new ListItem(strPading + "▷" + drv[strTextColumn].ToString(), drv[strIndexColumn].ToString());
                    drpBind.Items.Add(li);
                    MakeTree(dtNodeSets, strParentColumn, drv[strIndexColumn].ToString(), strIndexColumn, strTextColumn, drpBind, i);
                }
    
                //递归结束,要回到上一层,所以缩入量减少一个单位 
                i--;
            }
    
            #endregion private void MakeTree(DataTable dtNodeSets, string strParentColumn, string strRootValue, string strIndexColumn, string strTextColumn, DropDownList drpBind, int i)
    
  • 相关阅读:
    10.14 正睿做题笔记
    斯坦纳树
    django+uwsgi+nginx 前后端分离部署配置
    pandas 取 groupby 后每个分组的前 N 行
    使用 Java SDK 获取 MaxCompute 的表结构并写入到 Excel 中
    PPYOLO模型参数配置理解
    分子表面计算库MSMS的linux安装教程
    使用Python的seaborn画热力图heatmap以及将两个矩阵合并画热图的方法
    常见图片格式分析-bmp,png
    BUUOJ-Misc刷题笔记
  • 原文地址:https://www.cnblogs.com/chirifengye/p/3192782.html
Copyright © 2011-2022 走看看