阅读892 返回首页    go 微软 go Office


Treeview中利用递归无限绑定

 

 

闲话少说:

 

①建立数据库

 

②aspx

只是一个treeview控件而已,可以设置它的样式

 

③cs

 public partial class index : System.Web.UI.Page
    {
        private ProAndCityDataContext dc = new ProAndCityDataContext();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                BindTreeview(null, 0);
            }
        }

        /// <summary>
        /// 根据父节点ID读出该节点的内容
        /// </summary>
        /// <param name="parentNode">父节点ID</param>
        /// <returns></returns>
        public IEnumerable<ProAndCity> ReadProvince(int parentNode)
        {
            return from p in dc.ProAndCity
                   where p.ParentID == parentNode
                   select p;
        }


        /// <summary>
        /// 绑定Treeview
        /// </summary>
        /// <param name="n"></param>
        /// <param name="parentID"></param>
        private void BindTreeview(TreeNode n, int parentID)
        {
            foreach (ProAndCity p in ReadProvince(parentID))
            {
                if (parentID == 0)
                {
                    n = new TreeNode();
                    n.Text = p.Name;
                    n.Value = p.ID.ToString();
                    this.TreeView1.Nodes.Add(n);
                    BindTreeview(n, p.ID);              // 此时该节点的ID作为根节点,寻找子节点
                }
                else
                {
                    TreeNode n1 = new TreeNode();
                    n1.Text = p.Name;
                    n1.Value = p.ID.ToString();
                    n.ChildNodes.Add(n1);
                    BindTreeview(n1, p.ID);            // 此时该节点的ID作为根节点,寻找子节点
                }
            }
        }
    }

最后更新:2017-04-02 22:15:58

  上一篇:go Nullable&lt;&gt;基础应用
  下一篇:go Dropdownlist添加一项——&quot;请选择&quot;