zoukankan      html  css  js  c++  java
  • DropDownList 下拉无限极分类代码

           #region 无限极分类;
            /// <summary>
            /// 绑定DropDownList;
            /// </summary>
            protected void BindDropdownList()
            {
                DataTable dt = new DataTable();
                dt = bllClass.GetAllList().Tables[0];
                CreateLevelDropDown(ddlType, dt);
                //ddlType.Items.Insert(ddlType.Items.Count, new ListItem("——此类为根类——", "0"));
                ListItem tempItemNull = ddlType.Items.FindByValue("0");
            }
            /// <summary>
            ///实现无限极分类;
            /// </summary>
            /// <param name="ddlst"></param>
            /// <param name="dt"></param>
            protected void CreateLevelDropDown(DropDownList ddlst, DataTable dt)
            {
                ArrayList allItems = new ArrayList();
                DataRow[] rows = dt.Select("ParentId=" + 0);
                foreach (DataRow row in rows)
                {
                    CreateLevelDropDownAssistant(dt, ref allItems, row, string.Empty);
                    ListItem[] items = new ListItem[allItems.Count];
                    allItems.CopyTo(items);
                    ddlst.Items.Clear();
                    ddlst.Items.AddRange(items);
                }
            }
            private void CreateLevelDropDownAssistant(DataTable dt, ref   ArrayList items, DataRow parentRow, string curHeader)
            {
                ListItem newItem = new ListItem(curHeader + parentRow["ClassName"].ToString(), parentRow["ClassId"].ToString());
                items.Add(newItem);
                DataRow[] rows = dt.Select("ParentId=" + newItem.Value);
                for (int i = 0; i < rows.Length - 1; i++)
                    CreateLevelDropDownAssistant(dt, ref   items, rows[i], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┣");

                if (rows.Length > 0)
                    CreateLevelDropDownAssistant(dt, ref   items, rows[rows.Length - 1], curHeader.Replace("┣", "┃").Replace("┗", "┣") + "┗");
            }
            #endregion

  • 相关阅读:
    2019安徽省程序设计竞赛 I.你的名字(序列自动机)
    poj3522Slim Span(暴力+Kruskal)
    Uva1349Optimal Bus Route Design(二分图最佳完美匹配)(最小值)
    基于Python的Web应用开发实战——3 Web表单
    [nRF51822]5.触摸按键
    [nRF51822]4.GPIO控制蜂鸣器
    [nRF51822]3. GPIO输入按键检测
    [nRF51822]2. 跑马灯
    [nRF51822]1. 点亮一个LED
    [nRF51822]0.nRF51822的开发环境
  • 原文地址:https://www.cnblogs.com/TNSSTAR/p/2390747.html
Copyright © 2011-2022 走看看