版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、treeview概述treeview 控件顯示node 對(duì)象的分層列表,每個(gè)node 對(duì)象均由一個(gè)標(biāo)簽和一個(gè)可選的位圖組成。treeview 一般用于顯示文檔標(biāo)題、索引入口、磁盤上的文件和目錄、或能被有效地分層顯示的其它種類信息。創(chuàng)建了treeview 控件之后,可以通過設(shè)置屬性與調(diào)用方法對(duì)各node 對(duì)象進(jìn)行操作,這些操作包括添加、刪除、對(duì)齊和其它操作??梢跃幊陶归_與折回node 對(duì)象來顯示或隱藏所有子節(jié)點(diǎn)。collapse 、expand 和nodeclick 三個(gè)事件也提供編程功能。node 對(duì)象使用root 、pa rent 、child 、firstsibling、next 、pre
2、viou s 和 la stsibling 屬性。在代碼中可通過檢索對(duì)node 對(duì)象的引用,從而在樹上定位。也可以使用鍵盤定位。up arrow 鍵和down arro w 鍵向下循環(huán)穿過所有展開的node 對(duì)象。從左到右、從上到下地選擇node 對(duì)象。若在樹的底部,選擇便跳回樹的頂部,必要時(shí)滾動(dòng)窗口。rig ht arro w 鍵和left arrow 鍵也穿過所有展開的node 對(duì)象,但是如果選擇了未展開的node 之后再按rig ht arro w 鍵,該node 便展開;第二次按該鍵,選擇將移向下一個(gè)node 。相反,若擴(kuò)展的node 有焦點(diǎn),這時(shí)再按left arro w 鍵,該no
3、de 便折回。如果按下ans i 字符集中的鍵,焦點(diǎn)將跳轉(zhuǎn)至以那個(gè)字母開頭的最近的node 。后續(xù)的按該鍵的動(dòng)作將使選擇向下循環(huán),穿過以那個(gè)字母開頭的所有展開節(jié)點(diǎn)。控件的外觀有八種可用的替換樣式,它們是文本、位圖、直線和+/ - 號(hào)的組合,node 對(duì)象可以任一種組合出現(xiàn)。treeview 控件使用由imagelist 屬性指定的imagelist 控件,來存儲(chǔ)顯示于node 對(duì)象的位圖和圖標(biāo)。任何時(shí)刻,treeview 控件只能使用一個(gè)imagelist 。這意味著, 當(dāng) treeview 控件的style 屬性被設(shè)置成顯示圖象的樣式時(shí),treeview 控件中每一項(xiàng)的旁邊都有一個(gè)同樣大小的
4、圖象。發(fā)行注意treeview 控件是comctl32.ocx 文件中的一組activex 控件的一部分。為了在應(yīng)用程序中使用treeview 控件,必須將comctl32.ocx 文件添加到工程中。在發(fā)行應(yīng)用程序時(shí),要在用戶的micro soft windows system 或 system32 目錄中安裝comctl32.ocx 文件。屬性drophighlight屬性( li stview, treeview控件),indentation屬性,labeledit屬性,linestyle屬性,node s 屬性,pathseparator 屬性( treeview控件),selected
5、item屬性( a ctivex控件),so rted 屬性( treeview控件),st yle 屬性( treeview控件),checkbo xes 屬性,fullrowselect屬性,s croll 屬性,singlesel屬性,hottracking屬性,tabindex屬性,tag 屬性,vi sible 屬性,dragicon屬性,dragmode屬性,cau sesvalidation屬性,mou seicon 屬性,tabstop屬性,helpcontextid屬性,name 屬性,pa rent 屬性,container屬性,tooltiptext屬性,what sth
6、i shelpid屬性,ole dragmode屬性( activex控件),ole dropmode屬性( activex控件),height , width 屬性( activex控件),index屬性( a ctivex 控件),left, top 屬性( activex控件),object屬性( activex控件),appea rance 屬性( activex控件),bo rderst yle 屬性( activex控件),enable屬性( activex控件),font 屬性( activex控件),hideselection屬性( activex控件),h wnd 屬性( a
7、ctivex控件),mou sepointer屬性( activex控件),imagelist 屬性( activex控件)。方法getvi siblecount方法,hittest方法( li stview, treeview控件),sta rtlabeledit方法,set focu s 方法,drag 方法,move 方法,zo rder 方法,sho wwhat sthi s 方法,ole drag 方法( activex控件),ref re sh 方法( activex控件)。- 常用屬性1 、node s 屬性返回對(duì)treeview控件的 node 對(duì)象的集合的引用。語法: obj
8、ect. node s ? ject 所在處代表一個(gè)對(duì)象表達(dá)式,其值是“ 應(yīng)用于 ” 列表中的一個(gè)對(duì)象。說明:可以使用標(biāo)準(zhǔn)的集合方法(例如:add 和 remove方法)操作node 對(duì)象。可以按其索引或存儲(chǔ)在key 屬性中的唯一鍵來訪問集合中的每個(gè)元素。2 、st yle 屬性返回或設(shè)置圖形類型(圖象、文本、+/ -號(hào)、直線)以及出現(xiàn)在treeview 控件中每一node 對(duì)象上的文本的類型。語法: object.style = number st yle 語法包含下面部分:部分描述object 對(duì)象表達(dá)式,其值是 “ 應(yīng)用于” 列表中的一個(gè)對(duì)象。number 指定圖形類型的整數(shù),請(qǐng)參閱 “
9、設(shè)置值 ”中的描述。設(shè)置值number 的設(shè)置值是:設(shè)置值描述0 僅為文本。1 圖象和文本。2 +/- 號(hào)和文本。3 +/- 號(hào),圖象和文本。4 直線和文本。5 直線,圖象和文本。6 直線, +/- 號(hào)和文本。7 (缺?。┲本€, +/- 號(hào),圖象和文本。說明:若style 屬性設(shè)置為包含直線的值,則linestyle屬性就確定了直線的外觀。如果style 屬性設(shè)置為不含直線的值,則linestyle屬性將被忽略。3、so rted 屬性返回或設(shè)置一值,此值確定node 對(duì)象的子節(jié)點(diǎn)是否按字母順序排列;返回或設(shè)置一值,此值確定treeview控件的根層節(jié)點(diǎn)是否按字母順序排列。語法: object
10、.sorted = boolean so rted 屬性語法包含下面部分:部分描述object 對(duì)象表達(dá)式,其值是 “ 應(yīng)用于” 列表中的一個(gè)對(duì)象。boolean 布爾表達(dá)式,表示node 對(duì)象是否已被排序如 “設(shè)置值 ”中描述。boolean的設(shè)置值是:設(shè)置值描述true node 對(duì)象根據(jù)它們的text 屬性按字母順序排列。其text 屬性由數(shù)字開始的node 對(duì)象也作為字符串排序,第一個(gè)數(shù)字確定在排序中的初始位置,后面的數(shù)字確定以后的排序。false node 對(duì)象不排序。說明: so rted 屬性有兩種用法,第一,在treeview控件的根(頂)層排列node 對(duì)象,第二,對(duì)任何單個(gè)
11、node對(duì)象的立即子節(jié)點(diǎn)排序。例如,下面的代碼是對(duì)treeview控件的根節(jié)點(diǎn)排序:treeview1.sorted = true 頂層 node 對(duì)象被排序。下面的例子表示創(chuàng)建node 對(duì)象時(shí)如何設(shè)置so rted 屬性:dim nodx as node set nodx = treeview1.nodes.add(, ,parent node ) nodx.so rted = true 設(shè)置sorted 屬性為true 僅對(duì)當(dāng)前nodes 集合排序。在t reeview控件中添加新的node 對(duì)象時(shí),必須再次設(shè)置sorted 屬性為true ,以便對(duì)添加的node 對(duì)象排列。常用方法1 、
12、add 方法在 treeview控件的 node s 集合中添加一個(gè)node 對(duì)象。語法:object.add(relative, relationship, key, text, image, selectedimage) add 方法的語法包含下面部分:部分描述object 必需的。對(duì)象表達(dá)式,其值是“應(yīng)用于 ” 列表中的一個(gè)對(duì)象relative 可選的。已存在的node 對(duì)象的索引號(hào)或鍵值。新節(jié)點(diǎn)與已存在的節(jié)點(diǎn)間的關(guān)系,可在下一個(gè)參數(shù)relationship 中找到。relationship 可選的。指定的node 對(duì)象的相對(duì)位置,如設(shè)置值中所述。key 可選的。唯一的字符串,可用于用i
13、tem 方法檢索 node。text 必需的。在node 中出現(xiàn)的字符串。image 可選的。在關(guān)聯(lián)的imagelist 控件中的圖象的索引。selectedimage 可選的。在關(guān)聯(lián)的imagelist 控件中的圖象的索引,在node 被選中時(shí)顯示。設(shè)置值relationship 的設(shè)置值是:常數(shù)值描述tvwfirst 0 首的節(jié)點(diǎn)。該node 和在relative 中被命名的節(jié)點(diǎn)位于同一層,并位于所有同層節(jié)點(diǎn)之前。tvwlast 1 最后的節(jié)點(diǎn)。該node 和在relative 中被命名的節(jié)點(diǎn)位于同一層,并位于所有同層節(jié)點(diǎn)之后。任何連續(xù)地添加的節(jié)點(diǎn)可能位于最后添加的節(jié)點(diǎn)之后tvwnext
14、2 (缺?。┫乱粋€(gè)節(jié)點(diǎn)。該node 位于在relative 中被命名的節(jié)點(diǎn)之后。tvwprevious 3 前一個(gè)節(jié)點(diǎn)。該node 位于在relative 中被命名的節(jié)點(diǎn)之前。tvwchild 4 (缺?。┳庸?jié)點(diǎn)。該node 成為在relative 中被命名的節(jié)點(diǎn)的子節(jié)點(diǎn)。注意:如果在relative中沒有被命名的node 對(duì)象,則新節(jié)點(diǎn)被放在節(jié)點(diǎn)頂層的最后位置。說明: node s 集合是一個(gè)基于1 的集合。在添加node對(duì)象時(shí),它被指派一個(gè)索引號(hào),該索引號(hào)被存儲(chǔ)在node對(duì)象的 index 屬性中。這個(gè)最新成員的index屬性值就是node 集合的 count 屬性的值。因?yàn)閍dd 方法返
15、回對(duì)新建立的node 對(duì)象的引用,所以使用這個(gè)引用來設(shè)置新node 的屬性十分方便。2 、getvi siblecount方法返回固定在treeview 控件的內(nèi)部區(qū)域的node 對(duì)象的個(gè)數(shù)。語法: object.getvisiblecount object 所在處代表一個(gè)對(duì)象表達(dá)式,其值是“ 應(yīng)用于 ” 列表中的一個(gè)對(duì)象。說明:node 對(duì)象的個(gè)數(shù)取決于在一個(gè)窗口中能固定多少行??偟男袛?shù)取決于控件的高度和font 對(duì)象的size 屬性。該計(jì)數(shù)包括列表底部的只能看到一局部的項(xiàng)。可以使用getvi siblecount 屬性確??梢暤淖钚⌒袛?shù),這樣可以精確地訪問一個(gè)層。如果最小行數(shù)是不可視的,可
16、以用height 屬性重新設(shè)置t reeview的大小。常用事件nodeclick 事件在一個(gè)node 對(duì)象被單擊時(shí),這個(gè)事件便發(fā)生。語法:private sub object_nodeclick(byval node as node) nodeclick 事件的語法包含下面部分:部分描述object 對(duì)象表達(dá)式,其值是“ 應(yīng)用于 ” 列表中的一個(gè)對(duì)象。node 對(duì)被點(diǎn)取的node 對(duì)象的引用。說明:在單擊節(jié)點(diǎn)對(duì)象之外的treeview 控件的任何部位,標(biāo)準(zhǔn)的click 事件發(fā)生。當(dāng)單擊某個(gè)特定的node 對(duì)象時(shí),nodeclick 事件發(fā)生; nodeclick 事件也返回對(duì)特定的node
17、對(duì)象的引用,在下一步操作之前,這個(gè)引用可用來使這個(gè)node 對(duì)象可用。nodeclick 事件發(fā)生在標(biāo)準(zhǔn)的click 事件之前。語法object.add(relative, relationship, key, text, image, selectedimage) add 方法的語法包含下面部分:部分描述object 必需的。對(duì)象表達(dá)式,其值是“ 應(yīng)用于 ” 列表中的一個(gè)對(duì)象relative 可選的。已存在的node 對(duì)象的索引號(hào)或鍵值。新節(jié)點(diǎn)與已存在的節(jié)點(diǎn)間的關(guān)系,可在下一個(gè)參數(shù)relationship 中找到。relationship 可選的。指定的node 對(duì)象的相對(duì)位置,如設(shè)置值中所
18、述。key 可選的。唯一的字符串,可用于用item 方法檢索node 。te xt 必需的。在node 中出現(xiàn)的字符串。image 可選的。在關(guān)聯(lián)的imagelist 控件中的圖像的索引。selectedimage 可選的。在關(guān)聯(lián)的imagelist 控件中的圖像的索引,在node 被選中時(shí)顯示。設(shè)置值relationship 的設(shè)置值是:常數(shù)值描述tvwfirst 0 首的節(jié)點(diǎn)。該node 和在relative 中被命名的節(jié)點(diǎn)位于同一層,并位于所有同層節(jié)點(diǎn)之前。tvwla st 1 最后的節(jié)點(diǎn)。該node 和在relative 中被命名的節(jié)點(diǎn)位于同一層,并位于所有同層節(jié)點(diǎn)之后。任何連續(xù)地添加
19、的節(jié)點(diǎn)可能位于最后添加的節(jié)點(diǎn)之后tvwnext 2 (缺?。┫乱粋€(gè)節(jié)點(diǎn)。該node 位于在relative 中被命名的節(jié)點(diǎn)之后。tvwp reviou s 3 前一個(gè)節(jié)點(diǎn)。該node 位于在relative 中被命名的節(jié)點(diǎn)之前。tvwchild 4 (缺省)子節(jié)點(diǎn)。該node 成為在relative 中被命名的節(jié)點(diǎn)的子節(jié)點(diǎn)。注意如果在relative 中沒有被命名的node 對(duì)象,則新節(jié)點(diǎn)被放在節(jié)點(diǎn)頂層的最后位置。說明node s 集合是一個(gè)基于1 的集合。在添加node 對(duì)象時(shí),它被指派一個(gè)索引號(hào),該索引號(hào)被存儲(chǔ)在node 對(duì)象的index 屬性中。這個(gè)最新成員的index 屬性值就是nod
20、e 集合的count 屬性的值。因?yàn)閍dd 方法返回對(duì)新建立的node 對(duì)象的引用,所以使用這個(gè)引用來設(shè)置新node 的屬性十分方便。以下例子添加幾個(gè)具有相同屬性的node 對(duì)象:dim nodx as node 聲明對(duì)象變量。dim i as integer 聲明計(jì)數(shù)器變量。for i = 1 to 4 set nodx = treeview1.nodes.add(, ,node & cstr(i) 使用引用來設(shè)置其它屬性,如enabled 。nodx.enabled = true 把圖像屬性設(shè)置為在關(guān)聯(lián)的imagelist 中的圖像3。nodx.expandedimage = 3
21、next i理解層級(jí)概念, 層級(jí)理論上可以有無限級(jí),一般用到四, 五級(jí)也夠用了。最上級(jí)的只能有一個(gè),我們把它叫做“爺” ,接下來是“父” ,再是“子”,再是“孫”,接下來是“曾孫”.,匯總?cè)缦拢骸盃敚?,子,孫,曾孫” ,這里是 5 級(jí)關(guān)系,除了“爺”只能有一個(gè)外,其余可以有無限個(gè)。記住這些,下面要用。1 學(xué)習(xí)直接用代碼將數(shù)據(jù)填充到樹控件中。為什么要先學(xué)習(xí)直接用代碼將數(shù)據(jù)填充到樹控件中?因?yàn)檫@種方法是最簡單的,代碼也最容易理解, 學(xué)習(xí)樹控件, 先將這個(gè)學(xué)會(huì), 已經(jīng)掌握了一半,所以先不要急著想怎么將表中的數(shù)據(jù)填充到樹控件中,在第一小時(shí)里,樹控件和表完全沒有關(guān)系。目的:我們要在樹控件中建立如下的一
22、個(gè)3層級(jí)關(guān)系水果| |_蘋果| |_紅富士| |_國光| |_葡萄|_紅提子|_青提子解釋:水果包含2 種,一種是蘋果,一種是葡萄,蘋果又包含2 種,一種是紅富士,一種是國光,葡萄也如此。在這里:“爺”是水果, “父”是蘋果,葡萄, “子”是紅富士,國光,紅提子,青提子。概括如下:爺(只能有一個(gè)) :水果父(這里有2 個(gè)) :父 1:蘋果;父2:葡萄子(這里有4 個(gè)) :子 1:紅富士(父1 蘋果的子);子 2:國光(父1 蘋果的子);子 3:紅提子(父2 葡萄的子);子 4:青提子(父2 葡萄的子)下面我們?cè)赼ccess 中栽下這棵樹,步驟如下:1、新建一個(gè)窗體,在窗體上放置兩個(gè)控件,一個(gè)是
23、treeview ,一個(gè)是imagelist 如何找到這兩個(gè)控件?treeview控件在“工具箱”的榔頭加扳手圖標(biāo)(其他控件)中選“microsoft treeview control,version 6.0; imagelist 控件在“工具箱”的榔頭加扳手圖標(biāo) (其他控件) 中選 “microsoft imagelist control,v ersion 6.0。treeview 控件大家都明白干什么用的,imagelist 控件是干什么用呢?原來這個(gè)控件是放圖標(biāo)用的,如果你想在樹控件中顯示圖標(biāo)的,這個(gè)圖標(biāo)都將儲(chǔ)存在imagelist 控件中。2、設(shè)置這兩個(gè)控件的屬性首先要講清楚控件的屬性
24、設(shè)置有2 種,一種是設(shè)置這個(gè)控件在access 中的屬性,比如名稱等。一種是設(shè)置這個(gè)控件本身的屬性。要設(shè)置這個(gè)控件在access 中的屬性,選中控件后按鼠標(biāo)右鍵選“屬性” 就可以了。 跟我們平時(shí)設(shè)置文本框什么的一樣。要設(shè)置這個(gè)控件本身的屬性,只要雙擊這個(gè)控件就可以了。1)設(shè)置 treeview 控件在 access 中的名稱屬性,將名稱設(shè)置為“treeview 2)設(shè)置 imagelist 控件在 access 中的名稱屬性,將名稱設(shè)置為“image 2)設(shè)置 imagelist 控件本身的屬性, 雙擊控件后, 在彈出來的設(shè)置框中選“images,單擊“insert picture按鈕,在你電
25、腦中選擇你需要的圖標(biāo)。在“key:”欄中填入“k1” 。其他默認(rèn)設(shè)置不用改。3)設(shè)置treeview 控件本身的屬性,雙擊控件后,在彈出來的設(shè)置框中選“general” ,在這個(gè)選項(xiàng)面版中有很多項(xiàng)設(shè)置,大多數(shù)是設(shè)置樹控件的顯示格式,你自己慢慢研究。這里我們將第一項(xiàng)“ style選 7,在第五項(xiàng)“ imagelist 選項(xiàng)中將我們放置的imagelist 控件“ image選上。這項(xiàng)設(shè)置就將圖標(biāo)和樹控件聯(lián)系了起來。3、寫代碼將數(shù)據(jù)填充到樹控件中代碼寫在哪里?我們希望窗體一打開,數(shù)據(jù)就自動(dòng)填充在樹控件中,所以這個(gè)代碼就寫在窗體的加載事件中,代碼及解釋如下:private sub form_load
26、() * - * 用代碼將數(shù)據(jù)填充到樹控件中* - dim nodeindex as node *- * 解釋:定義node *node 是樹控件的對(duì)象* 每個(gè) node 都有三個(gè)東西,圖標(biāo),文本,索引值* 圖標(biāo)和文本都是實(shí)際顯示出來的,索引值是隱含的*- 設(shè)置最頂級(jí)的“爺”:* - set nodeindex = treeview.nodes.add(, , 爺, 水果 , k1) nodeindex.sorted = true *- * 樹控件填充數(shù)據(jù)的方法是nodes.add * 括號(hào)內(nèi)是add 方法的參數(shù)* 在這里“爺”是索引值,“水果”是將顯示的文本,“ k1”是圖標(biāo)的索引值*sor
27、ted 是指 node 的排序, true 就是指采用排序,默認(rèn)是按拼音* 第一,二個(gè)參數(shù)是空的* 具體的參數(shù)設(shè)置以后你可以慢慢詳細(xì)研究*- 設(shè)置第二級(jí)“父”* - set nodeindex = treeview.nodes.add( 爺, tvwchild, 父 1, 蘋果 , k1) nodeindex.sorted = true set nodeindex = treeview.nodes.add( 爺, tvwchild, 父 2, 葡萄 , k1) nodeindex.sorted = true *- * 第一個(gè)參數(shù)“爺”是指這一層對(duì)應(yīng)上層“爺”的*tvwchild參數(shù)是規(guī)定格式,
28、指相對(duì)來說,這一層是爺?shù)淖訉? “父 1”是索引值,因?yàn)椤案浮庇? 個(gè),而索引值是唯一的,所以要編號(hào),用“父1” “父2”分開* “蘋果”“葡萄”是要顯示的文本,k1 是顯示圖標(biāo)的索引值* 現(xiàn)在知道為什么在“爺”層設(shè)置時(shí),第一,第二個(gè)參數(shù)是空的,因?yàn)檫@是最頂層*- 設(shè)置第三級(jí)“子”* - set nodeindex = treeview.nodes.add( 父 1, tvwchild, 子 1, 紅富士 , k1) nodeindex.sorted = true set nodeindex = treeview.nodes.add( 父 1, tvwchild, 子 2, 國光 , k1)
29、nodeindex.sorted = true set nodeindex = treeview.nodes.add( 父 2, tvwchild, 子 3, 紅提子 , k1) nodeindex.sorted = true set nodeindex = treeview.nodes.add( 父 2, tvwchild, 子 4, 青提子 , k1) nodeindex.sorted = true *- * 第一個(gè)參數(shù) “父 1,2”是指這一層對(duì)應(yīng)上層“父” 的,但要注意對(duì)應(yīng)的是“父 1”還是“父2”*tvwchild參數(shù)是規(guī)定格式,指相對(duì)來說,這一層是父的子層* “子 1”是索引值,因
30、為“子”有4 個(gè),而索引值是唯一的,所以要編號(hào),用“1,2, 3,4”分開* “紅富士”等是要顯示的文本,k1 是顯示圖標(biāo)的索引值,注意k1 區(qū)分大小寫。*- end sub 就這么多代碼, 總共十幾行, 就可以在樹控件中顯示數(shù)據(jù)了,很簡單吧。 第一小時(shí)結(jié)束。2 學(xué)習(xí)怎樣將樹控件和數(shù)據(jù)庫中的數(shù)據(jù)綁起來在第一小時(shí)里, 我們學(xué)習(xí)了怎樣直接用代碼填充樹控件,但在實(shí)際使用中,這種方法的應(yīng)用性不大, 只有將樹控件與數(shù)據(jù)庫中的數(shù)據(jù)結(jié)合起來,才能有真正的應(yīng)用。其實(shí)綁定數(shù)據(jù)庫的方法和直接用代碼填充是大同小異的,我們要做的只是將add 的參數(shù)里,原來我們手工輸入的變換一下,讓程序知道去數(shù)據(jù)庫中找數(shù)據(jù)。目的:將數(shù)
31、據(jù)庫中的數(shù)據(jù)與樹控件綁定背景:我們想在樹控件中顯示銷售客戶的層級(jí)列表,這個(gè)銷售客戶的分層是這樣的,先按 “大區(qū)” ,再按“省份” ,最后到“客戶”我們?cè)跀?shù)據(jù)庫中建立了三個(gè)表,字段如下:大區(qū)表:大區(qū)id ,大區(qū)名稱省份表:省份id ,省份名稱,所屬大區(qū)客戶表:客戶id ,客戶名稱,所屬省份這三個(gè)表互相建立了關(guān)系1、新建一個(gè)窗體,在窗體上放置兩個(gè)控件,一個(gè)是treeview ,一個(gè)是imagelist 2、設(shè)置這兩個(gè)控件的屬性在這里和第一小時(shí)唯一的區(qū)別是我們?cè)谠O(shè)置imagelist 控件時(shí),導(dǎo)入了兩個(gè)圖標(biāo),一個(gè)key 為 k1,一個(gè)為k2,原來樹控件的node 圖標(biāo)是可以變化的,我們準(zhǔn)備某個(gè)項(xiàng)沒有
32、選中時(shí)的圖標(biāo)是一個(gè)沒有打開的文件夾,選中時(shí)是一個(gè)打開的文件夾,以區(qū)別。3、編寫代碼,如下:private sub form_load() * - * 用數(shù)據(jù)庫表 (查詢也一樣 )中數(shù)據(jù)填充樹控件* - dim rec as new adodb.recordset dim strecql as string dim item as integer dim i as integer dim nodindex as node * - * 定義各類* - 設(shè)置最頂級(jí)的 爺 * - set nodindex = treeview.nodes.add(, , 爺, 銷售客戶 , k1, k2) nodin
33、dex.sorted = true * - * 這里的設(shè)置跟第一小時(shí)里基本是一樣的* 但最后多了一個(gè)k2 的參數(shù) ,k1 代表的是未被選中時(shí)的圖標(biāo),k2 代表是被選中后的圖標(biāo)* 仔細(xì)觀察一下,你會(huì)發(fā)現(xiàn)選中和沒選中的圖標(biāo)是不一樣的,一個(gè)是一個(gè)文件夾,一個(gè)是一個(gè)打開的文件夾* - 設(shè)置第二級(jí) 父 * - rec.open 大 區(qū) 表 , currentproject.connection, adopenkeyset, adlockoptimistic, adcmdtabledirect for i = 0 to rec.recordcount - 1 set nodindex = treeview
34、.nodes.add( 爺 , tvwchild, 父 & rec.fields(大區(qū) id), rec.fields(大區(qū)名稱 ), k1, k2) nodindex.sorted = true rec.movenext next rec.close * - * 第一行意思是打開一個(gè)表去尋找數(shù)據(jù)(查詢也是可以的) * 關(guān)鍵在與add 參數(shù)的變化* 大家看第三個(gè)參數(shù),在第一小時(shí)里 ,這里是 父 1,這里用 rec.fields(大區(qū) id) 來代替 1,意思是用表的編號(hào)來代替手工編號(hào)* 第四個(gè)參數(shù)也是一樣,直接用表中的名稱字段來取代原來我們手工的命名* - 設(shè)置第三級(jí) 子 * - rec.open 省 份 表 , currentproject.connection, adopenkeyset, adlockoptimistic, adcmdtabledirect for i = 0 to rec.recordcount - 1 set nodindex = treeview.nodes.add( 父 & rec.fields(所屬大區(qū) ), tvwchild, 子 & rec.fields( 省份 id), rec.fields( 省份名稱 ), k1, k2) nodindex.sorted = true rec.movenext n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工合同審批管理
- 食品文化節(jié)采暖系統(tǒng)施工合同
- 水產(chǎn)養(yǎng)殖防水保溫施工協(xié)議
- 藝人演出教育推廣協(xié)議
- 農(nóng)業(yè)科技招投標(biāo)與合同履約分析
- 婚慶策劃公司租賃合同
- 建筑工程水電站施工合同樣本
- 綠色商業(yè)植草磚施工合同
- 電影院干掛石材施工協(xié)議
- 洗衣服務(wù)公司人事經(jīng)理聘用合同
- 七年級(jí)上冊(cè)道德與法治2023-2024期末試題附答案系列
- 代賬公司會(huì)計(jì)主管年終總結(jié)
- 創(chuàng)新思維訓(xùn)練學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 網(wǎng)絡(luò)與信息安全管理員(高級(jí)技師)資格理論考試題及答案
- 廣東省肇慶市2023-2024學(xué)年高二上學(xué)期期末教學(xué)質(zhì)量檢測(cè)試題 政治試題 附答案
- 街道社區(qū)城管工作目標(biāo)考核細(xì)則
- 國開電大??啤禗reamweaver網(wǎng)頁設(shè)計(jì)》2023-2024期末試題及答案(試卷號(hào):2445)
- 體育概論(第二版)課件第三章體育目的
- 2024年《中華人民共和國監(jiān)察法》知識(shí)測(cè)試題庫及答案
- 科學(xué)與文化的足跡學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2025屆高考語文復(fù)習(xí):散文閱讀 課件
評(píng)論
0/150
提交評(píng)論