整理思想:
(1) 先读取根节点;
(2) 读取根节点的所有子节点;
(3) 如此循环(2)即可;
/// <summary>
/// 加载商品分类到树
/// </summary>
/// <param name="tvMenu"></param>
public void LoadProductCategorysToTree(TreeView tvMenu)
{
DataTable dtAgentInfo = null;
dtAgentInfo =CreateDataTable(" select * from ProductCategory ");
//添加根结点
tvMenu.Nodes.Clear();
TreeNode newNode = new TreeNode();
newNode.Text = "商品分类";
newNode.Value = "0";
newNode.NavigateUrl = "javascript:void(0);";
tvMenu.Nodes.Add(newNode);
LoadMenu(tvMenu.Nodes[0].ChildNodes, "0",dtAgentInfo);
}
/// <summary>
/// 加载子级
/// </summary>
/// <param name="Nodes"></param>
/// <param name="ParentAgentID"></param>
public void LoadMenu(TreeNodeCollection Nodes, string ParentAgentID, DataTable dtAgentInfo)
{
dtAgentInfo.DefaultView.RowFilter = "ParentID=" + ParentAgentID;
for (int i = 0; i < dtAgentInfo.DefaultView.Count; i++)
{
TreeNode newNode = new TreeNode();
newNode.Text = dtAgentInfo.DefaultView[i]["CategoryName"].ToString();
newNode.Value = dtAgentInfo.DefaultView[i]["ProductCategoryID"].ToString();
newNode.NavigateUrl = "javascript:getProducts('" + newNode.Value + "');"; //--写的一个JS函数,实现跳转到相关页面;
Nodes.Add(newNode);
}
for (int i = 0; i < Nodes.Count; i++)
{
LoadMenu(Nodes[i].ChildNodes, Nodes[i].Value,dtAgentInfo);
}
}
分享到:
相关推荐
通常,数据可以从数据库读取并动态生成树形结构。可以使用ADO.NET或者其他数据库访问技术获取数据,然后遍历结果集,逐条添加为树形控件的节点。 4. **自定义节点行为**: - **自定义数据关联**:虽然树形控件不...
而`TreeView`控件则以树形结构展示数据,适合表示层次关系明确的信息,如文件系统、组织结构等。 要将`DataGrid`中的数据拖拽到`TreeView`中,我们首先需要处理`DataGrid`的拖放事件。在.NET中,我们可以利用`...
在这个异步树实现中,我们专注于如何在jQuery Treeview中集成异步加载功能,特别是与.NET 3.5及以上版本的后端接口协同工作。 异步加载对于大型数据集至关重要,因为它允许用户逐步加载数据,而不是一次性加载所有...
TREEVIEW控件是Windows Forms和ASP.NET中的一个常用控件,用于显示树形结构的数据。下面将详细讲解如何使用TREEVIEW控件实现下拉菜单。 一、数据库设计 在实现TREEVIEW控件之前,我们需要设计一个数据库来存储树...
当我们需要管理远程FTP服务器上的文件和目录结构时,一种常见的方法是通过构建目录树视图,也就是将FTP服务器的目录结构映射到类似Windows资源管理器那样的树形控件中,例如TreeView。这个"获取Ftp目录树并绑定到...
本篇将详细讲解如何实现将`TreeView`的树形结构保存到文件,并从文件中读取恢复到`TreeView`的功能。 首先,我们要理解`TreeView`的节点结构。`TreeView`由多个`TreeNode`组成,每个`TreeNode`可以有子节点,形成...
在本案例中,我们将深入探讨如何在C#中使用`TreeView`来创建一个可展开的树形菜单。 首先,我们需要理解`TreeView`的基本结构。`TreeNode`是`TreeView`的基础元素,每个节点可以包含子节点,形成树状结构。我们可以...
该软件能够读取两种主流的进化树文件格式——NEXUS和PHYLIP,这使得它成为处理这些数据的理想工具。 1. **NEXUS文件格式** NEXUS是一种广泛使用的多序列比对和系统发育分析的数据交换格式。它包含了物种序列信息、...
本篇将深入探讨如何利用C#和`TreeView`控件从数据库中读取数据并生成树形结构。 首先,我们需要理解`TreeView`控件的基本用法。`TreeView`控件由多个`TreeNode`对象组成,每个`TreeNode`代表树的一个节点,可以包含...
在Silverlight应用中,我们通常使用XmlReader来逐个读取XML节点,然后根据这些节点构建树形结构的数据模型,最后将这个模型映射到TreeView控件上。 接下来,我们来看如何实现这个过程: 1. **创建XmlReader实例**...
TreeView控件是Windows Forms或WPF应用程序中常用的一个组件,它能以树形结构显示数据,常用于展现层次结构的信息。在我们的场景中,城市列表可以被视为一个多级的结构,如国家-省份-城市。 XML文件通常包含一系列...
`TreeView`控件在用户界面中表现为一个可展开/折叠的树形结构,每个节点代表一个条目,节点之间通过层级关系进行连接。本示例主要探讨`TreeView`节点的操作,包括添加、删除、修改和遍历等基本操作。 1. **添加节点...
在Delphi编程环境中,开发人员经常需要将数据库中的数据以树形结构展示,这有助于用户直观地理解层次关系。在本教程中,我们将探讨如何快速地在Delphi中实现这样的功能,利用TreeView组件来导航数据库表的数据。我们...
内容索引:Delphi源码,数据库应用,Treeview,树控 Delphi读取数据库并建立Treeview树状视图目录,内部建立两组资料,一级仅12条数据,另一组则1200多条数据,并含四种测试方法,通过本程序可测试在读取两组不同资料时...
Delphi Treeview树形菜单视图源码,通过数据库读取到资料,然后绑定显示到TreeView中,通过多组数据的比较,可以看出不同方式之间速度的差异,一般情况下我们都是在使用时才打开树状菜单,才开始加载数据。...
### TreeView控件动态生成无限级树:深入解析与实现 在现代的Web应用程序开发中,数据展示方式的多样化和高效性是提升用户体验的关键因素之一。其中,`TreeView`控件因其直观、层次清晰的特点,被广泛应用于表示...
TreeView控件是Windows Forms和.NET Framework提供的一种用户界面元素,它以树形结构显示数据,每个节点可以有子节点,形成多级结构。通过自定义节点,开发者可以创建具有丰富交互功能的界面,如展开/折叠节点、选择...
在本篇内容中,我们将探讨如何从数据库中读取数据并将其添加到Treeview控件中。此方法通常应用于显示具有层级结构的数据,例如组织结构、文件系统等。以下是对原文中代码示例的详细解释及扩展。 #### 核心知识点 1...
5. **实现反序列化**:从文件或数据库中读取XML字符串,然后遍历这个字符串,使用`ReadXml()`方法逐个创建`TreeNodeModel`实例,并将它们添加到`TreeView`中。这会恢复原来的树结构。 6. **加载到`TreeView`**:在...