DropDownList 递归绑定分子公司信息

/// <summary>
        /// 绑定下拉框
        /// </summary>
        /// <param name="ddl">绑定控件名称</param>
        /// <param name="dt">绑定的数据源</param>
        /// <param name="categoryid">父级id值</param>
        /// <param name="layer">缩进种子</param>
        /// <param name="parentId">父级ID列名</param>
        /// <param name="name">需要显示text列名</param>
        /// <param name="id">需要绑定value的列名</param>
        private void BindChannelType(DropDownList ddl, DataTable dt, string categoryid, int layer, string parentId, string name, string id)
        {
            DataView dv = new DataView(dt);
            dv.RowFilter = parentId + "='" + categoryid + "'";
            //过滤      
            if (categoryid != "0")
            {
                layer++;
                //默认为第一层  
            }
            foreach (DataRowView drv in dv)
            {
                string span = "";
                if (categoryid != "0")
                {
                    for (int i = 0; i < layer; i++)
                    //父级菜单不缩进     
                    {
                        span += " ";
                    }

                }
                ListItem li = new ListItem();
                li.Text = span + drv[name].ToString();
                li.Value = drv[id].ToString();
                ddl.Items.Add(li);
                BindChannelType(ddl, dt, drv[id].ToString(), layer, parentId, name, id);
            }
        }
原文地址:https://www.cnblogs.com/yuanyanyan/p/6792210.html