• DroDownList控件多级下拉菜单


    后台代码:

        /// <summary>
            /// 绑定下拉菜单
            /// </summary>
            private void BindDropList()
            {
                DataTable dt = bacManage.GetAllArticleCategory();
                CreateLevelDropDown(drpCategoryId, dt);
            }
    
            /// <summary>
            /// 创建分级下拉框
            /// </summary>
            /// <param name="ddlst"></param>
            /// <param name="dt"></param>
            private void CreateLevelDropDown(DropDownList ddlst, DataTable dt)
            {
                System.Collections.ArrayList allItems = new ArrayList();
                DataRow[] rows = dt.Select("[parent]=" + 0);
                foreach (DataRow row in rows)
                    CreateLevelDropDownAssistant(dt, ref   allItems, row, string.Empty);
    
                ListItem[] items = new ListItem[allItems.Count];
                allItems.CopyTo(items);
                ddlst.Items.AddRange(items);
            }
    
            /// <summary>
            /// 设置下拉列表分级格式
            /// </summary>
            /// <param name="dt"></param>
            /// <param name="items"></param>
            /// <param name="parentRow"></param>
            /// <param name="curHeader"></param>
            private void CreateLevelDropDownAssistant(DataTable dt, ref   ArrayList items, DataRow parentRow, string curHeader)
            {
                ListItem newItem = new ListItem(curHeader + parentRow["name"].ToString(), parentRow["category_id"].ToString());
                items.Add(newItem);
                parentRow.Delete();
    
                DataRow[] rows = dt.Select("[parent]='" + 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("", "") + "");
            }

        /// <summary>
            /// 绑定下拉菜单
            /// </summary>
            private void BindDropList()
            {
                DataTable dt = bacManage.GetAllArticleCategory();
                CreateLevelDropDown(drpCategoryId, dt);
            }

            /// <summary>
            /// 创建分级下拉框
            /// </summary>
            /// <param name="ddlst"></param>
            /// <param name="dt"></param>
            private void CreateLevelDropDown(DropDownList ddlst, DataTable dt)
            {
                System.Collections.ArrayList allItems = new ArrayList();
                DataRow[] rows = dt.Select("[parent]=" + 0);
                foreach (DataRow row in rows)
                    CreateLevelDropDownAssistant(dt, ref   allItems, row, string.Empty);

                ListItem[] items = new ListItem[allItems.Count];
                allItems.CopyTo(items);
                ddlst.Items.AddRange(items);
            }

            /// <summary>
            /// 设置下拉列表分级格式
            /// </summary>
            /// <param name="dt"></param>
            /// <param name="items"></param>
            /// <param name="parentRow"></param>
            /// <param name="curHeader"></param>
            private void CreateLevelDropDownAssistant(DataTable dt, ref   ArrayList items, DataRow parentRow, string curHeader)
            {
                ListItem newItem = new ListItem(curHeader + parentRow["name"].ToString(), parentRow["category_id"].ToString());
                items.Add(newItem);
                parentRow.Delete();

                DataRow[] rows = dt.Select("[parent]='" + 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("┗", "┣") + "┗");
            }

  • 相关阅读:
    hdu 1863
    数据结构与算法分析–Minimum Spanning Tree(最小生成树)
    hdu 1856 More is better
    hdu 1272 小希的迷宫
    数据结构与算法分析 – Disjoint Set(并查集)
    数字逻辑电路课程设计报告
    高校成绩管理数据库系统的设计与实现
    PL/0编译器(java version) – SymbolTable.java
    [jquery]添加行内容后根据下拉菜单选择内容对比之前已有选项,若有重置再提示
    bootstrap-datetimepicker 日期控件的开始日期
  • 原文地址:https://www.cnblogs.com/acoll/p/3834193.html
Copyright © 2020-2023  润新知