日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C語言中使用TreeView控件與數(shù)據(jù)庫操作(ctreeview數(shù)據(jù)庫)

在C語言編程中,TreeView控件被廣泛應(yīng)用于Windows平臺。TreeView控件是一個樹形控件,它能夠顯示復(fù)雜的層次結(jié)構(gòu)。在實際應(yīng)用中,TreeView控件可以與數(shù)據(jù)庫操作結(jié)合使用,便于數(shù)據(jù)的快速管理和查詢。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供于都網(wǎng)站建設(shè)、于都做網(wǎng)站、于都網(wǎng)站設(shè)計、于都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、于都企業(yè)網(wǎng)站模板建站服務(wù),十余年于都做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

本文將介紹如何在。

一、TreeView控件的創(chuàng)建

在使用TreeView控件之前,首先需要創(chuàng)建它,并將它添加到Windows界面上。

TreeView控件的創(chuàng)建包含以下步驟:

1.在資源編輯器中,創(chuàng)建一個新的Dialog Resource。

2.添加TreeView控件到Dialog Resource中。

3.在代碼中,使用CreateWindowEx函數(shù)創(chuàng)建TreeView控件。

4.使用SendMessage函數(shù)將TreeView控件添加到Dialog Resource中。

二、TreeView控件的基本操作

TreeView控件包含以下基本操作:

1.添加節(jié)點(diǎn)

在TreeView控件中,可以添加多個節(jié)點(diǎn),用于顯示層次結(jié)構(gòu)。

使用TreeView_InsertItem函數(shù)可以添加一個新節(jié)點(diǎn),該函數(shù)的參數(shù)包括父節(jié)點(diǎn)、子節(jié)點(diǎn)、節(jié)點(diǎn)文本、節(jié)點(diǎn)圖標(biāo)等。

2.修改節(jié)點(diǎn)

TreeView控件中的節(jié)點(diǎn)可以根據(jù)需要進(jìn)行修改,例如修改節(jié)點(diǎn)文本、節(jié)點(diǎn)圖標(biāo)等。

使用TreeView_SetItem函數(shù)可以修改指定節(jié)點(diǎn)的信息。

3.刪除節(jié)點(diǎn)

TreeView控件中的節(jié)點(diǎn)可以根據(jù)需要進(jìn)行刪除。

使用TreeView_DeleteItem函數(shù)可以刪除指定節(jié)點(diǎn)。

4.查詢節(jié)點(diǎn)

TreeView控件中的節(jié)點(diǎn)可以根據(jù)需要進(jìn)行查詢,例如查詢指定節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)目、查詢指定節(jié)點(diǎn)的文本等信息。

使用TreeView_GetCount函數(shù)可以查詢TreeView控件中的節(jié)點(diǎn)數(shù)目,使用TreeView_GetItemText函數(shù)可以查詢指定節(jié)點(diǎn)的文本信息。

三、TreeView控件與數(shù)據(jù)庫操作結(jié)合使用

TreeView控件與數(shù)據(jù)庫操作結(jié)合使用,可以實現(xiàn)對數(shù)據(jù)的快速管理和查詢。

對于一個擁有多個節(jié)點(diǎn)的TreeView控件,可以將每個節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)存儲在數(shù)據(jù)庫中。在程序運(yùn)行時,通過TreeView控件查詢數(shù)據(jù)庫中存儲的數(shù)據(jù),再將數(shù)據(jù)顯示在TreeView控件中。

1.連接數(shù)據(jù)庫

在使用TreeView控件與數(shù)據(jù)庫操作結(jié)合使用之前,首先需要連接數(shù)據(jù)庫。

使用ODBC API中的SQLConnect函數(shù)可以連接數(shù)據(jù)庫。

2.查詢數(shù)據(jù)

在與數(shù)據(jù)庫操作結(jié)合使用時,需要通過TreeView控件查詢數(shù)據(jù)庫中的數(shù)據(jù)。

通過SQL語句可以在數(shù)據(jù)庫中根據(jù)需要查詢數(shù)據(jù)。例如,可以查詢整張表中的所有數(shù)據(jù),也可以查詢特定的數(shù)據(jù)行。

查詢的結(jié)果需要儲存在數(shù)據(jù)集中??梢允褂肙DBC API中的SQLFetch函數(shù)獲取數(shù)據(jù)集中的數(shù)據(jù)。

3.更新數(shù)據(jù)

在TreeView控件中修改節(jié)點(diǎn)的數(shù)據(jù)時,需要同步更新數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)。

使用TreeView_GetItem函數(shù)可以獲取指定節(jié)點(diǎn)的信息,使用SQL語句可以將修改的數(shù)據(jù)存儲到數(shù)據(jù)庫中。

4.插入數(shù)據(jù)

向TreeView控件中添加新節(jié)點(diǎn)時,需要同步將數(shù)據(jù)插入到數(shù)據(jù)庫中。

使用TreeView_InsertItem函數(shù)可以向TreeView控件中添加新節(jié)點(diǎn),使用SQL語句可以將新節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)插入到數(shù)據(jù)庫中。

5.刪除數(shù)據(jù)

從TreeView控件中刪除節(jié)點(diǎn)時,需要同步刪除數(shù)據(jù)庫中對應(yīng)的數(shù)據(jù)。

使用TreeView_DeleteItem函數(shù)可以刪除節(jié)點(diǎn),使用SQL語句可以將指定的數(shù)據(jù)從數(shù)據(jù)庫中刪除。

四、注意事項

在使用TreeView控件與數(shù)據(jù)庫操作結(jié)合使用時,需要注意以下問題:

1.安全性

在對數(shù)據(jù)進(jìn)行操作時,需要注意數(shù)據(jù)的安全。例如,對輸入的數(shù)據(jù)進(jìn)行檢查,防止SQL注入等惡意攻擊。

2.性能

在程序中使用TreeView控件與數(shù)據(jù)庫操作結(jié)合使用時,需要注意性能問題。例如,合理使用緩存技術(shù),避免頻繁查詢數(shù)據(jù)庫等。

3.可維護(hù)性

在編寫程序時,需要注意程序的可維護(hù)性。例如,使用模塊化設(shè)計,遵循面向?qū)ο缶幊淘瓌t等。

五、

本文介紹了如何在結(jié)合使用。在實際應(yīng)用中,TreeView控件與數(shù)據(jù)庫操作結(jié)合使用可以大大提高數(shù)據(jù)查詢和管理的效率。但是,在使用時需要注意安全性、性能、可維護(hù)性等問題。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

VB.NET中層次數(shù)據(jù)綁定TreeView的實現(xiàn)

提要:在VB 中 常將TreeView用來表示層次數(shù)據(jù) 但相關(guān)的與數(shù)據(jù)庫進(jìn)行交互的代碼 需要大量的采用手工編碼;在中 由于數(shù)據(jù)綁定功能的加強(qiáng)及語言特性的增強(qiáng) 可以很容易的實現(xiàn)TreeView與層次數(shù)據(jù)的綁定 本文將首先建立一個繼承自TreeView的 dbTreeView 然后用一個單位(部渣裂門)的層次數(shù)據(jù)與dbTreeView進(jìn)行數(shù)據(jù)綁定 并提供了與數(shù)據(jù)庫進(jìn)行交互的代碼    從層次數(shù)據(jù)的表達(dá)方式開始  在本例中 部門表(department)中有五個字段 如下表: 字段名 字段 類型說明 ID 自動編號 Key Code String 編碼 Name String 名稱 PID Int 父結(jié)點(diǎn)的ID CPtr boolean 是否有子結(jié)點(diǎn)     繼承自TreeNode的myTreeNode  在myTreeNode中 新增了三個屬性 如下表: 屬性名 類型 說明 Value Object Key PID Object 父結(jié)點(diǎn)的ID CPtr Boolean 是否有子結(jié)點(diǎn)    在Init事件友耐中 根據(jù)傳入的四個參數(shù) 設(shè)置這三個屬性和Text屬性    將dbTreeView綁定到數(shù)據(jù)源 屬性名 類型 說明 Datasource dataview dbTreeVIew的數(shù)據(jù)源使用dataview 而不是object Value Member string值成員(數(shù)據(jù)源的列名) Display Member string顯示(在Text中)成員 Pid Member string父ID成員 CPtr Member string是否有子結(jié)點(diǎn)    后四個屬性對應(yīng)myTreeNode的value text pid cptr   相關(guān)代碼如下: Protected Property DataSource() As Object Get  Return mDataView End Get Set(ByVal Value As Object)  If Value Is Nothing Then 好梁春 Else   mDataView = Value   cm = CType(Me BindingContext(mDataView) CurrencyManager)   UpdateTreeView()  End If End SetEnd PropertyProtected Property PidMember() As String Get  Return mPidMember End Get Set(ByVal Value As String)  mPidMember = Value End SetEnd PropertyProtected Property DisplayMember() As String Get  Return Join(mDisplayMember SplitChar) End Get Set(ByVal Value As String)  mDisplayMember = Split(Value SplitChar) End SetEnd Property 注意 這幾個屬性都是保護(hù)成員 必須在Init事件中設(shè)置:Public Sub Init(ByVal dispmember As String ByVal valuemember As String ByVal pidmember As String ByVal cptrmember As String ByVal datasource As DataView) Me ValueMember = valuemember Me DisplayMember = dispmember Me PidMember = pidmember Me CPtrMember = cptrmember Me DataSource = datasource  取value更大值 新增時將value+ 保證關(guān)健值唯一  Me mDataView Sort = Me ValueMember Me m_MaxID = Me GetValue(Me mDataView Count )End Sub

  設(shè)置DisplayMember屬性的格式如:字段 ;字段 ;字段 …

  在設(shè)置屬性時 將傳來的參數(shù)轉(zhuǎn)換為字符串?dāng)?shù)組mDisplayMember 在檢索值時返回數(shù)據(jù)如:值 值 值 …

Protected Overridable Function GetDisplay(ByVal Index As Integer) As Object Dim i As Integer Dim temp As String =  For i = To mDisplayMember Length   temp = temp & IIf(i > LinkChar ) & mDataView(Index)(mDisplayMember(i)) Next Return tempEnd Function  其它檢索值的函數(shù)請參見源程序 生成樹  UpdateTreeView調(diào)用私有方法FillTree來生成樹 需要注意的 FillTree只是生成指定結(jié)點(diǎn)的子結(jié)點(diǎn)并將其添加到指定結(jié)點(diǎn) 而不是一次就將所有結(jié)點(diǎn)添加到樹中 如果未指定結(jié)點(diǎn)(之一次填充時) 只是添加頂層結(jié)點(diǎn) Private Sub FillTree(ByRef pnode As myTreeNode Optional ByVal filter As String = ) mDataView RowFilter = filter Dim i As Integer icol As Integer Dim newnode As myTreeNode RemoveHandler cm PositionChanged AddressOf cm_PositionChanged Me BeginUpdate() For i = To mDataView Count()   newnode = New myTreeNode(GetDisplay(i) GetValue(i) GetPid(i) GetCPtr(i))   當(dāng)有子結(jié)點(diǎn)時 為這個結(jié)點(diǎn)添加一個空子結(jié)點(diǎn)  If newnode CPtr Then   Dim nullnode As New myTreeNode()   nullnode Value = NoExpandNodeValue   newnode Nodes Add(nullnode)  End If  If pnode Is Nothing Then   Me Nodes Clear()   Me Nodes Add(newnode)  Else   pnode Nodes Add(newnode)  End If Next Me EndUpdate() mDataView RowFilter =  AddHandler cm PositionChanged AddressOf cm_PositionChangedEnd Sub  在展開有子結(jié)點(diǎn)的結(jié)點(diǎn)前 刪除所有子結(jié)點(diǎn) 再用FillTree為待展開結(jié)點(diǎn)新增子結(jié)點(diǎn) Private Sub dbTreeView_BeforeExpand(ByVal sender As Object ByVal e As System Windows Forms TreeViewCancelEventArgs) Handles MyBase BeforeExpand  當(dāng)是新增結(jié)點(diǎn)引起B(yǎng)eforeExpand事件時 直接退出  If ExpandWhenAddNode Then Exit Sub  在展開結(jié)點(diǎn)前更新子結(jié)點(diǎn) Dim currentnode As myTreeNode = CType(e Node myTreeNode) With currentnode   Nodes Clear()  FillTree(currentnode mPidMember & = & CInt( Value)) End WithEnd Sub   實現(xiàn)數(shù)據(jù)與綁定控件的同步  要實現(xiàn)兩個方面的同步:   其它綁定控件(如textbox等)應(yīng)與TreeView當(dāng)前結(jié)點(diǎn)所指向的記錄位置一致 Private Sub dbTreeView_AfterSelect(ByVal sender As Object ByVal e As System Windows Forms TreeViewEventArgs) Handles MyBase AfterSelect If e Node Is Nothing Then Exit Sub  定位到position cm Position = GetPosition(CType(e Node myTreeNode) Value) If AllowEdit Then  oldNode = e Node  oldPos = cm Position End IfEnd Sub   在其它綁定控件改變了數(shù)據(jù)源后 更新樹結(jié)點(diǎn) 這個工作在觸發(fā)CurrencyManager的PositionChanged事件時進(jìn)行 Public Sub cm_PositionChanged(ByVal sender As Object ByVal e As System EventArgs) If CType(Me SelectedNode myTreeNode) Value GetValue(cm Position) Then  Debug WriteLine( Current node isn t correct point to currencymanager position! )  Me SelectedNode = FindNodeByValue(GetValue(cm Position) Me Nodes) End If If AllowEdit Then  If Me SelectedNode Is Nothing AndAlso cm Position = cm Count Then    當(dāng)新增記錄時 新增樹結(jié)點(diǎn)   If CType(cm Current DataRowView) IsNew Then    Me SelectedNode = AddNode(cm Position)    Exit Sub   End If  End If  If Not oldNode Is Nothing Then   If CType(oldNode myTreeNode) Value = GetValue(oldPos) Then     更新老結(jié)點(diǎn)    oldNode Text = GetDisplay(oldPos)   Else   End If  End If End IfEnd Sub

  使用dbTreeView  程序運(yùn)行后界面如下:    相關(guān)代碼請參見源程序 這里不做詳述

access中怎樣實現(xiàn)樹狀結(jié)構(gòu)

你是想制作一個表,然后用編程來實現(xiàn)嗎?

詳見:

TreeView 控件

TreeView 控件顯示 Node 對象的分層列表,每個 Node 對象均由一個標(biāo)簽和一個可選的位圖組成。TreeView 一般用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。

語法

Treeview

說明皮隱納

創(chuàng)建了 TreeView 控件之后,可以通過設(shè)置屬性與調(diào)用方法對各 Node 對象進(jìn)行操作,這些操作包括添加、刪除、對齊和其它操作??梢跃幊陶归_與折回 Node 對象來顯示或隱藏所有子節(jié)點(diǎn)。Collapse、Expand 和 NodeClick 三個事件也提供編程功能。

Node 對象使用 Root、Parent、Child、FirstSibling、Next、Previous 和 LastSibling 屬性。在代碼中可通過檢索對 Node 對象的引用,從而在樹上定位。也可以使用鍵盤定位。UP ARROW 鍵和 DOWN ARROW 鍵向下循環(huán)穿過所有展開的 Node 對象。從左到右、從上到下地選擇 Node 對象。若在樹的底部,攜陸選擇便跳回樹的頂部,必要時滾動窗口。RIGHT ARROW 鍵和 LEFT ARROW 鍵也穿過所有展開的 Node 對象,但是如果選擇了未展開的 Node之后再按 RIGHT ARROW 鍵,該 Node 便展開;第二次按該鍵,選擇將移向下一個 Node。相反,若擴(kuò)展的 Node 有焦點(diǎn),這時再按 LEFT ARROW 鍵,該 Node 便折回。如果按下 ANSI 字符集 中的鍵,焦點(diǎn)將跳轉(zhuǎn)至以那個字母開頭的最近的 Node。后續(xù)的按該鍵的動作將使選擇向下循環(huán),穿過以那個字母開頭的所有展開節(jié)點(diǎn)。

控件的外觀有八種可用的替換樣式,它們是文本、位圖、直線和 +/- 號的組合,Node 對象可以任一種組合出現(xiàn)。

TreeView 控件使用由 ImageList 屬性指定的 ImageList 控件,來存儲顯示于 Node 對象的位圖和圖標(biāo)。任何時刻,TreeView 控件只能使用一個 ImageList。這意味著,當(dāng) TreeView 控件的 Style 屬性被設(shè)置成顯示圖像的樣式時,TreeView 控件中每一項的旁邊都有一個同樣大小的圖像。

發(fā)行注意 TreeView 控件是 MSCOMCTL.OCX 文件中的一組 ActiveX 控件的一部分。為了在應(yīng)用程序中使用 TreeView 控件,必須將 MSCOMCTL.OCX 文件

2. Sorted 屬性(TreeView 控件)

返回或設(shè)置一值,此值確定 Node 對象的子節(jié)點(diǎn)是否按字母順序排列。

返回或設(shè)置一值,此值確定 TreeView 控件的根層節(jié)點(diǎn)是否按字母順序排列。

語法

object.Sorted

Sorted 屬性語法包含下面部分:

部分 描述

object 對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象。

boolean 布爾表達(dá)式,表示 Node 對象是否已被排序如“設(shè)置值”中描述。

設(shè)置值

boolean 的設(shè)置值是:

設(shè)置值 描述

True Node 對象根據(jù)它們的 Text 屬性按字母順序排列。其 Text 屬性由數(shù)字開始的 Node 對象也作為字符串排序,之一個數(shù)字確定在排序中的初始位置,后面的數(shù)字確定以后的排序。

False Node 對象不排序。

說明

Sorted 屬性有兩種用法燃沒,之一,在 TreeView 控件的根(頂)層排列 Node 對象,第二,對任何單個 Node 對象的立即子節(jié)點(diǎn)排序。例如,下面的代碼是對 TreeView 控件的根節(jié)點(diǎn)排序:

Private Sub Command1_Click()

3. EnsureVisible 方法

這個方法確保指定的 ListItem 或 Node 對象是可視的。如果需要,這個方法可展開 Node 對象并滾動 TreeView 控件。該方法僅可滾動 ListView 控件。

語法

object.EnsureVisible

object 所在處代表一個對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象。

返回值

值 描述

True 如果 ListView 或 TreeView 控件必須滾動與/或擴(kuò)展以顯露該對象,該方法返回 True。

False 如果不需滾動與/或展開,該方法返回 False。

說明

一個特定的 Node 或 ListItem 對象可能深藏于 TreeView 或 ListView 控件中,當(dāng)要使其為可視時,使用 EnsureVisible 方法。

如果 Scroll 屬性設(shè)置為 False,則該方法將不會在 TreeView 控件上起作用。

4. Node 對象和 Nodes

Node 對象是 TreeView 控件中的一項,它包含圖像和文本。

Nodes 包含一個或多個 Node 對象。

語法

treeview.Nodes

treeview.Nodes.Item(index)

以上語法行,按照標(biāo)準(zhǔn)語法分別引用與中的單獨(dú)元素。

treeview 對象表達(dá)式,其值是 TreeView 控件。

index 整數(shù)或字符串,它唯一地標(biāo)識 Nodes 的一個成員。整數(shù)是 Index 屬性的值,字符串是 Key 屬性的值。

說明

節(jié)點(diǎn)可包含文本和圖片。然而,要使用圖片,必須用 ImageList 屬性關(guān)聯(lián)一個 ImageList 控件。

圖片可以根據(jù)節(jié)點(diǎn)的狀態(tài)而改變;例如,如果將 SelectedImage 屬性設(shè)置為來自關(guān)聯(lián)的 ImageList 的圖像,則被選中的節(jié)點(diǎn)可擁有與未選中的節(jié)點(diǎn)不同的圖片。

5. Add 方法(Nodes )

在 Treeview 控件的 Nodes 中添加一個 Node 對象。

語法

object.Add(relative, relationship, key, text, image, selectedimage)

Add 方法的語法包含下面部分:

描述

object 必需的。對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象

relative 可選的。已存在的 Node 對象的索引號或鍵值。新節(jié)點(diǎn)與已存在的節(jié)點(diǎn)間的關(guān)系,可在下一個參數(shù) relationship 中找到。

relationship 可選的。指定的 Node 對象的相對位置,如設(shè)置值中所述。

key 可選的。唯一的字符串,可用于用 Item 方法檢索 Node。

text 必需的。在 Node 中出現(xiàn)的字符串。

image 可選的。在關(guān)聯(lián)的 ImageList 控件中的圖像的索引。

selectedimage 可選的。在關(guān)聯(lián)的 ImageList 控件中的圖像的索引,在 Node 被選中時顯示。

設(shè)置值

relationship 的設(shè)置值是:

6. Root 屬性(Node 對象)

返回對所選 Node 的根 Node 對象的引用。

語法

object.Root

object 所在處代表是對象表達(dá)式,其值是“應(yīng)用于”列表中的對象

說明

Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 各屬性全將返回對另一個 Node 對象的引用。因此,可以同時引用并執(zhí)行對 Node 的操作,如下所示:

With TreeView1.Nodes(x).Root

.Text = “New text”

.Key = “New key”

.SelectedImage = 3

End With

也可以將對象變量設(shè)置為被引用的 Node,如下所示:

Dim NodRoot As Node

‘得到對節(jié)點(diǎn) x 的根的引用。

Set NodRoot = TreeView1.Nodes(x).Root

‘用此引用執(zhí)行對根節(jié)點(diǎn)的操作。

With nodRoot

.Text = “New text” ‘改變文本。

.Key = “New key” ‘改變鍵。

.SelectedImage = 3 ‘改變 SelectedIma

7. Parent 屬性(Node 對象)

這個屬性返回或設(shè)置 Node 對象的父對象。僅在運(yùn)行時可用。

語法

object.Parent

Parent 屬性的語法包含下面部分:

部分 描述

object 對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象。

node 變成該對象的父對象的 Node 對象。 

說明

在運(yùn)行時,設(shè)置這個屬性為一個對象的操作不能搞成一個循環(huán),否則便發(fā)生錯誤。例如,不能將任何 Node 設(shè)置成為其后代的子 Node。

Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 屬性都返回對另一個 Node 對象的引用。所以可以同時引用并執(zhí)行對一個 Node 的操作,如下所示:

With TreeView1.Nodes(x).Parent

.Text = “New text”

.Key = “New key”

.SelectedImage = 3

End With

也可以將對象變量設(shè)置為引用的 Node,如下所示:

Dim NodParent As Node

Private Sub TreeView1_DragDrop(Source As Control, x As Single, y As Single)

‘如果用戶沒移動鼠標(biāo),或在無效區(qū)釋放它。

If TreeView1.DropHighlight Is Nothing Then

indrag = False

Exit Sub

Else

‘設(shè)置被拖動的節(jié)點(diǎn)的 parent 屬性為目標(biāo)節(jié)點(diǎn)。

On Error GoTo checkerror ‘阻止循環(huán)錯誤。

Set nodX.Parent = TreeView1.DropHighlight

Cls

Print TreeView1.DropHighlight.Text & _

” is parent of ” & nodX.Text

‘釋放 DropHighlight 引用。

Set TreeView1.DropHighlight = Nothing

indrag = False

Exit Sub ‘如未發(fā)生錯誤則退出。

End If

checkerror:

‘定義表示 Visual Basic 錯誤代碼的常數(shù)。

Const CircularError = 35614

If Err.Number = CircularError Then

Dim msg As String

msg = “A node can’t be made a child of its own children.”

‘顯示帶有一個感嘆號圖標(biāo)

‘和“確定”與“取消”按鈕的消息框。

If MsgBox(msg, vbExclamation & vbOKCancel) = vbOK Then

‘釋放

9. Children 屬性

這個屬性返回包含在 Node 對象中的各子 Node 對象的個數(shù)。

語法

object.Children

object 所在處代表一個對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象。

說明

在執(zhí)行一個影響子節(jié)點(diǎn)的操作之前,可用 Children 屬性檢查 Node 對象是否有子節(jié)點(diǎn)。例如,以下代碼在檢索之一個 Node 的 Text 屬性之前,使用 Child 屬性檢查子節(jié)點(diǎn)的存在。

Private Sub TreeView1_NodeClick(ByVal Node As Node)

If Node.Children > 0 Then

MsgBox Node.Child.Text

End If

End Sub

Children 屬性示例

這個例子在 TreeView 控件中放置幾個 Node 對象。這組代碼檢查 Node 是否有子節(jié)點(diǎn)。如果有,則顯示子節(jié)點(diǎn)的文本。為試用此例,在窗體上安放一個 TreeView 控件,并在窗體的聲明部分中粘貼下面的代碼。運(yùn)行此例,單擊 Node 對象以選擇它,然后單擊該窗體來察看 Node 對象的子節(jié)點(diǎn)的文本。

Option Explicit

Private Sub Form_Click()

Dim strC As String

Dim N As Integer

If TreeView1.SelectedItem.Children > 0 Then ‘有子節(jié)點(diǎn)。

10. FirstSibling 屬性(Node 對象)

這個屬性返回對 TreeView 控件中的 Node 對象的之一個相鄰對象的引用。

語法

object.FirstSibling

object 所在處代表一個對象表達(dá)式,其值是“應(yīng)用于”列表中的一個對象

說明

之一個相鄰節(jié)點(diǎn)是出現(xiàn)在一個節(jié)點(diǎn)層中之一個位置上的 Node。實際上到底是哪一個 Node 出現(xiàn)在之一個位置取決于在那一層上的 Node 對象是否被排序,這由 Sorted 屬性確定。

Child、FirstSibling、LastSibling、Previous、Parent、Next 和 Root 屬性都返回對另一個 Node 對象的引用。所以可以同時引用并執(zhí)行對一個 Node 的操作,如下所示:

With TreeView1.Nodes(x).FirstSibling

.Text = “New text”

.Key = “New key”

.SelectedImage = 3

End With

也可以將對象變量設(shè)置為引用的 Node,如下所示:

Dim NodFirstSib As Node

‘獲取 Node x 的之一個相鄰節(jié)點(diǎn)的引用。

Set NodFirstSib = TreeView1.Nodes(x).FirstSibling

‘使用這個引用執(zhí)行對之一個相鄰 Node 的操

常數(shù) 值 描述 

樹型機(jī)構(gòu)要求數(shù)據(jù)庫必須具有至少以下三個字賣衡段:

表(id,名稱,父節(jié)點(diǎn)id)

至少具有以上字段才能造一顆樹,

程序加載樹很簡單,一個遞歸指配胡,或一個循環(huán)唯攔就可以了

c treeview 數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于c treeview 數(shù)據(jù)庫,C語言中使用TreeView控件與數(shù)據(jù)庫操作,VB.NET中層次數(shù)據(jù)綁定TreeView的實現(xiàn),access中怎樣實現(xiàn)樹狀結(jié)構(gòu)的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機(jī)被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機(jī)/香港空間。香港虛擬主機(jī)特點(diǎn)是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機(jī)精選cn2+bgp線路訪問快、穩(wěn)定!


網(wǎng)頁名稱:C語言中使用TreeView控件與數(shù)據(jù)庫操作(ctreeview數(shù)據(jù)庫)
瀏覽地址:http://www.dlmjj.cn/article/cccjcje.html