TreeView递归绑定无限分类数据

王朝学院·作者佚名  2016-05-21
窄屏简体版  字體: 小  |  中  |  大  |  超大  

TreeView递归绑定无限分类数据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

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航