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;
        }

     效果图:

     数据源表结构:

     

  • 相关阅读:
    win shift s截图不能用(已解决)
    阿里云ssl证书过期怎么解决 (免费SSL证书) 三步解决
    图解 Java 数据结构
    微信小程序简介
    序列化类外键字段的覆盖,十大接口序列化总结,视图家族
    response二次封装,夺标关系优化,多表序列化,十大接口
    内部类,drf响应类,序列化与反序列化
    drf以及django应用
    DRF框架知识总览
    实例成员:计算属性 监听属性以及vue的项目开发
  • 原文地址:https://www.cnblogs.com/cr7/p/2661740.html
Copyright © 2011-2022 走看看