65.9K
CodeProject 正在变化。 阅读更多。
Home

DBTree

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.43/5 (9投票s)

2007年11月17日

CPOL
viewsIcon

19589

downloadIcon

308

一个从表中加载节点的 DB Base Tree

Screenshot - LoadTree.jpg

引言

这是一个简单的代码,展示了我们如何从表记录中加载树节点。

我们如何使用这段代码

首先,我们需要创建一个名为 "dbTree" 的数据库。
然后,我们需要运行这个脚本来创建用于存储树节点的表。我们把这个表命名为 "tPOI"

//

// 

USE [dbTree]
GO
/****** Object:  Table [dbo].[tPOI]    Script Date: 11/17/2007 09:32:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tPOI](
 [NodeID] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
 [ParentID] [numeric](18, 0) NULL,
 [NodeName] [nchar](10) COLLATE Arabic_CI_AS NULL,
 [InUse]  NULL CONSTRAINT [DF_tPOI_InUse]  DEFAULT ((1)),
CONSTRAINT [PK_tPOI] PRIMARY KEY CLUSTERED 
(
 [NodeID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
//

最后,将这些记录加载到 "tPOI" 中。

//

NodeID  ParentID          NodeName                InUse
1         0             RootNode1        True
2         1             Child1            True
3         1             Child2            True
4         1             Child3            True
5         2             Child1_1        True
6         2             Child1_2        True
7         0             RootNode2        True
//

它是如何工作的?

我们加载节点的方法很简单:根节点没有父节点,所以我们将它们的父节点字段设置为零 ("0"),而每个子节点都有一个父节点,帮助我们将该节点附加到其父节点。
很简单,不是吗?

现在我们进入代码部分
只有一个函数将记录加载到树中,就是 "treeLoader()"。

© . All rights reserved.