zoukankan      html  css  js  c++  java
  • DropDownlist显示树状

    啥都不说,直接上码...

     /// <summary>
        
    /// 绑定树视图
        
    /// </summary>
        
    /// <param name="dt">数据源</param>
        private void BindTreeView(DataTable dt)
        {
            ddlCategorys.Items.Clear(); //清除数据
            ddlCategorys.Items.Add(new ListItem("全部""0"));
            if (dt != null && dt.Rows.Count > 0)
            {
                DataRow[] nodeList = dt.Select("ParentID='0'");
                for (int i = 0; i < nodeList.Length; i++)
                {
                    ddlCategorys.Items.Add(new ListItem(nodeList[i][ddlCategorys.DataTextField].ToString(), nodeList[i][ddlCategorys.DataValueField].ToString()));
                    BindChildNode(dt, nodeList[i][ddlCategorys.DataValueField].ToString());
                }
            }
        }

        /// <summary>
        
    /// 绑定子节点
        
    /// </summary>
        
    /// <param name="dt">数据源</param>
        
    /// <param name="parentValue">父值</param>
        
    /// <param name="strBlank">分隔符</param>
        private void BindChildNode(DataTable dt, string parentValue)
        {
            DataRow[] nodeList = dt.Select(string.Format(" {0} = '{1}' ""ParentID", parentValue));
            for (int i = 0; i < nodeList.Length; i++)
            {
                string strBlank = StringOfChar(int.Parse(nodeList[i]["Level"].ToString()), "&nbsp;&nbsp;");
                ddlCategorys.Items.Add(new ListItem(HttpUtility.HtmlDecode(strBlank) + nodeList[i][ddlCategorys.DataTextField].ToString(), nodeList[i][ddlCategorys.DataValueField].ToString()));
                BindChildNode(dt, nodeList[i][ddlCategorys.DataValueField].ToString());
            }
        }

        private string StringOfChar(int strLong, string str)
        {
            string ReturnStr = string.Empty;
            if (strLong > 1)
            {
                for (int i = 1; i < strLong; i++)
                {
                    ReturnStr += str;
                }
                ReturnStr += "";
            }
            return ReturnStr;
        }

     效果图:

     数据源表结构:

     

  • 相关阅读:
    IoC之Ninject
    C#中的扩展方法
    Office 2016 Pro Plus Project 专业版 Visio 专业版 64 位vol版本方便KMS小马oem
    Microsoft Office 2016 简体中文 Vol 版镜像下载
    svn 被锁住 冲突 Can't revert without reverting children
    定时检查服务批处理,发现服务停止立即启动服务
    C++中关于[]静态数组和new分配的动态数组的区别分析
    IP地址与无符号整数值相互转换
    算法:整数与ip地址转换
    将字符串表示的IP地址转变为整形表示
  • 原文地址:https://www.cnblogs.com/cr7/p/2661740.html
Copyright © 2011-2022 走看看