首页 > Web开发 > 详细

ASP.NET中树型DropDownList的绑定

时间:2014-02-28 23:15:04      阅读:603      评论:0      收藏:0      [点我收藏+]

首先设计好数据库,假设数据库有三个字段Id,ParentId,Name。ParentId是树性结构必须的,就是节点的父节点id,假设跟节点id都是0。下面就可以绑定了!

  思路应该很简单,就是先绑定根节点,再循环绑定子节点!父节点和子节点之间为了显示出层次结构,用空格格开,不过不是space键,没用的,必须用v1的特殊字符1。

bubuko.com,布布扣
  /// <summary>
        /// 绑定根节点
        /// </summary>
        void bindGroup()
        {
            DataTable dt = new DataTable();//获取所有节点
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    if (row["ParentId"].ToString().Trim() == "0")//绑定根节点
                    {
                        this.drpItGroup.Items.Add(new ListItem(row["Name"].ToString(), row["Id"].ToString()));
                        this.bindDropChildItem(this.drpItGroup, dt, row["Id"].ToString(), 1);
                    }
                }
            }
        }
        /// <summary>
        /// 绑定子节点
        /// </summary>
        /// <param name="d"></param>
        /// <param name="dt"></param>
        /// <param name="id"></param>
        /// <param name="length"></param>
        void bindDropChildItem(DropDownList d, DataTable dt, string id, int length)
        {
            DataRow[] rows = dt.Select("ParentId=‘" + id + "", "Id DESC");//取出id子节点进行绑定
            for (int i = 0; i < rows.Length; i++)
            {
                this.drpItGroup.Items.Add(new ListItem(this.SpaceLength(length) + rows[i]["Name"].ToString(), rows[i]["Id"].ToString()));
                this.bindDropChildItem(d, dt, rows[i]["Id"].ToString(), length + 1);//空白数目加1
            }
        }
        /// <summary>
        /// 子节点前面的空白数
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        string SpaceLength(int i)
        {
            string space = "";
            for (int j = 0; j < i; j++)
            {
                space += " ";//注意这里的空白是智能abc输入法状态下的v11字符;
            }
            return space;
        }
bubuko.com,布布扣

ASP.NET中树型DropDownList的绑定,布布扣,bubuko.com

ASP.NET中树型DropDownList的绑定

原文:http://www.cnblogs.com/elves/p/3572926.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!