码迷,mamicode.com
首页 > 其他好文 > 详细

TreeView递归绑定无限分类数据

时间:2015-06-17 00:41:49      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

TreeView递归绑定无限分类数据

实现一个动态绑定,无限级分类数据时,需要将数据绑定到TreeView控件,分类表的结构是这样的:

字段

类型

Id

int

ParentId

int

Name

Nvarchar(64)

 

实现数据绑定:

技术分享

技术分享
        private void ControlsDataBind()
        {
            tvCategory.Nodes.Clear();
            List<Models.Category> types = CommonNews.Helper.OperateContext.Current.LoadNewsTypes();
            IEnumerable<Models.Category> rootNodes = types.Where(t => t.ParentId == 0);
            TreeNode node = null;
            foreach (Models.Category item in rootNodes)
            {
                node = new TreeNode(item.CategoryName, item.CategoryId.ToString());
                if (tvCategory.Nodes.Contains(node))
                {
                    continue;
                }
                IEnumerable<Models.Category> ts = types.Where(t => t.ParentId == item.CategoryId);
                AddNodesToTree(ts, node, 0);
            }
        }

        private void AddNodesToTree(IEnumerable<Models.Category> category, TreeNode node, int level)
        {
            TreeNode childNode = null;
            foreach (Models.Category c in category)
            {
                childNode = new TreeNode(c.CategoryName, c.CategoryId.ToString());
                if (tvCategory.Nodes.Contains(childNode))
                {
                    continue;
                }
                node.ChildNodes.Add(childNode);
                AddNodesToTree(category.Where(t => t.CategoryId == c.ParentId), childNode, level + 1);
            }
            tvCategory.Nodes.Add(node);
        }
TreeViewBind

 

TreeView递归绑定无限分类数据

标签:

原文地址:http://www.cnblogs.com/ben121011/p/4582200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!