?? asp.net中treeview控件使用小結(jié).txt
字號(hào):
ASP.NET中TreeView控件使用小結(jié)
游不遠(yuǎn)的魚(yú) @ 2004-10-14 13:23
在上網(wǎng)瀏覽時(shí)有時(shí)會(huì)看到一些網(wǎng)站在左邊采用類(lèi)似資源管理器的樹(shù)形結(jié)構(gòu),在樹(shù)形結(jié)構(gòu)中單擊,在右邊顯示內(nèi)容,層次清晰且方便快捷,本文主要介紹ASP.NET服務(wù)器控件treeview 的使用方法,treeview控件屬于microsoft webcontrols,在下載和使用過(guò)程中本人碰到一些問(wèn)題,通過(guò)反復(fù)實(shí)驗(yàn),查找資料,找到一些解決辦法,現(xiàn)把treeview使用心得寫(xiě)出來(lái),旨在對(duì)想在網(wǎng)站中使用樹(shù)形結(jié)構(gòu)的朋友有所幫助。
一、下載
microsoft webcontrols控件包括四個(gè)組件:MultiPage、TabStrip、Toolbar、treeView,treeview可以到http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp去下載,下載后得到文件IEWebControls,只有360KB,安裝后自動(dòng)在C:\Program Files建立IE Web Controls,執(zhí)行其下面的bulid.bat,如果安裝后還不能使用可以采用以下方法解決:
1、打開(kāi)bulid.bat的內(nèi)容,查看csc.exe路徑是否正確,一般不能正確使用這可能是原因之一,csc.exe為系統(tǒng)文件,如果它的路徑與你的計(jì)算機(jī)不符合,修改后存盤(pán)再執(zhí)行bulid.bat,將得到Microsoft.Web.UI.WebControls.dll和一些文件夾。
2、查看默認(rèn)的web站點(diǎn),一般默認(rèn)的web站點(diǎn)為C:\Inetpub\wwwroot,如果不是可以通過(guò)打開(kāi)管理工具àInternet 服務(wù)管理器,方法:對(duì)默認(rèn)web站點(diǎn)單擊右鍵à屬性à主目錄,修改主目錄。
3、將C:\Program Files\IE Web Controls\build下runtime文件夾下所有內(nèi)容復(fù)制到主目錄\webctrl_client_0下,是將iewebcontrols四大控件的系統(tǒng)文件復(fù)制到默認(rèn)web站點(diǎn)下。
4、將C:\Program Files\IE Web Controls\build下Microsoft.Web.UI.WebControls.dll文件復(fù)制到主目錄中建立的項(xiàng)目文件夾下\bin中。
通過(guò)對(duì)以上四個(gè)方面的操作,iewebcontrols才能正常使用。
二、添加控件
打開(kāi)Microsoft Visual Studio .NET, 在web工具箱中單擊右鍵,選擇自定義工具箱à.NET框架組件,通過(guò)瀏覽添加Microsoft.Web.UI.WebControls.dll文件,添加后可以在.NET框架組件中選擇命名空間為microsoft.web.ui.webcontrols的treeview。
三、treeview屬性和方法介紹
在窗體中添加一個(gè)treeview控件,通過(guò)treeview對(duì)象的屬性nodes創(chuàng)建所需的樹(shù)形結(jié)構(gòu)。
例:建立如下樹(shù)形結(jié)構(gòu)
窗體中HTML代碼為:
<iewc:treeview id=”treeview1” autoselect=false shoplus=true showlines=true expandlevel=2 runat=server>
<iewc:treenode text=”科目” >
<iewc:treenode text=”語(yǔ)文” />
<iewc:treenode text=”數(shù)學(xué)” />
<iewc:treenode text=”英語(yǔ)” />
</iewc:treenode>
</iewc:treeview>
1、autoselect=”false”:當(dāng)訪問(wèn)者在treeview控件中對(duì)節(jié)點(diǎn)進(jìn)行定位時(shí),可以使用鍵盤(pán)上的箭頭來(lái)進(jìn)行定位。屬性值為“false“,則不允許這樣做。
2、Showplus=”true”:當(dāng)兩個(gè)節(jié)點(diǎn)收到一起的時(shí)候,你可以顯示一個(gè)加號(hào)(+),訪問(wèn)者就知道這個(gè)節(jié)點(diǎn)可以展開(kāi),該屬性值為“true“將使用加號(hào),否則不使用。
3、Showlines=”true”:在一個(gè)treeview控件中的兩個(gè)節(jié)點(diǎn)之間,可以顯示一些線長(zhǎng),為”true”顯示。
4、Expandlevel=2:用來(lái)定義treeview控件的層次結(jié)構(gòu)展開(kāi)的級(jí)別數(shù)。
5、navigateurl:點(diǎn)擊節(jié)點(diǎn)時(shí)的跳轉(zhuǎn)網(wǎng)址
如:
<iewc:treeview id=”treeview2” runat=server>
<iewc:treenode text=”喜愛(ài)的站點(diǎn)” >
<iewc:treenode text=”中國(guó)DOTNET俱樂(lè)部” navigateurl=”http://www.chinaaspx..com” />
<iewc:treenode text=”國(guó)家基礎(chǔ)教育資源網(wǎng)” navigateurl=”htt://www.cbern.gov.cn” />
</iewc:treenode>
</iewc:treeview>
6、index:獲取樹(shù)節(jié)點(diǎn)在樹(shù)節(jié)點(diǎn)集合中的位置
7、nodes:獲取分配給樹(shù)視圖控件的樹(shù)節(jié)點(diǎn)集合
8、parent:獲取或設(shè)置控件的父容器
9、selectednode:獲取或設(shè)置當(dāng)前在樹(shù)視圖控件中選定的樹(shù)節(jié)點(diǎn)
10、text:獲取或設(shè)置在樹(shù)節(jié)點(diǎn)標(biāo)簽中顯示的文本
11、expand:展開(kāi)樹(shù)節(jié)點(diǎn)
12、clear:清空樹(shù)
13、remove:移除當(dāng)前樹(shù)節(jié)點(diǎn)
14、checked:用以指明該樹(shù)節(jié)點(diǎn)是否處于選中狀態(tài)
四、簡(jiǎn)單示例
對(duì)左邊樹(shù)形結(jié)構(gòu)進(jìn)行選擇,在右邊表格中查詢顯示結(jié)果。
說(shuō)明:
1、 SelectedIndexChange事件是對(duì)樹(shù)結(jié)構(gòu)進(jìn)行選擇時(shí)產(chǎn)生的,還有一個(gè)觸發(fā)條件autopostback=true。
2、 例中數(shù)據(jù)庫(kù)由SQL 2000建立。
代碼如下:
Imports System.Data
Imports System.Data.SqlClient
Public Class tree1
Inherits System.Web.UI.Page
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents DataGrid1 As System.Web.UI.WebControls.DataGrid
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
Protected WithEvents Label2 As System.Web.UI.WebControls.Label
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim strconnection As String = "server=zln\netsdk;uid=sa;pwd=sa;database=english"
Dim conn As New SqlConnection(strconnection)
conn.Open()
Dim sql As String = "select * from zlk where kemu='" & Session("node").ToString & "'"
Dim cmd As New SqlCommand(sql, conn)
Dim da As SqlDataReader
da = cmd.ExecuteReader
DataGrid1.DataSource = da
DataGrid1.DataBind()
End Sub
Private Sub TreeView1_SelectedIndexChange(ByVal sender As Object, ByVal e As Microsoft.Web.UI.WebControls.TreeViewSelectEventArgs) Handles TreeView1.SelectedIndexChange
Dim ndsel As New Microsoft.Web.UI.WebControls.TreeNode()
ndsel = TreeView1.GetNodeFromIndex(TreeView1.SelectedNodeIndex)
Session("node") = ndsel.Text
End Sub
End Class
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -