top
Loading...
ASP.NET中TreeView控件使用小結
在上網瀏覽時有時會看到一些網站在左邊采用類似資源管理器的樹形結構,在樹形結構中單擊,在右邊顯示內容,層次清晰且方便快捷,本文主要介紹ASP.NET服務器控件treeview 的使用方法,treeview控件屬于microsoft webcontrols,在下載和使用過程中本人碰到一些問題,通過反復實驗,查找資料,找到一些解決辦法,現把treeview使用心得寫出來,旨在對想在網站中使用樹形結構的朋友有所幫助。

一、下載

microsoft webcontrols控件包括四個組件:MultiPage、TabStrip、Toolbar、treeView,treeview可以到http://msdn.microsoft.com/downloads/samples/internet/ASP_DOT_NET_ServerControls/WebControls/default.asp去下載,下載后得到文件IEWebControls,只有360KB,安裝后自動在C:Program Files建立IE Web Controls,執行其下面的bulid.bat,如果安裝后還不能使用可以采用以下方法解決:

1、打開bulid.bat的內容,查看csc.exe路徑是否正確,一般不能正確使用這可能是原因之一,csc.exe為系統文件,如果它的路徑與你的計算機不符合,修改后存盤再執行bulid.bat,將得到Microsoft.Web.UI.WebControls.dll和一些文件夾。

2、查看默認的web站點,一般默認的web站點為C:Inetpubwwwroot,如果不是可以通過打開管理工具àInternet 服務管理器,方法:對默認web站點單擊右鍵à屬性à主目錄,修改主目錄。

3、將C:Program FilesIE Web Controlsuild下runtime文件夾下所有內容復制到主目錄webctrl_client1_0下,是將iewebcontrols四大控件的系統文件復制到默認web站點下。

4、將C:Program FilesIE Web Controlsuild下Microsoft.Web.UI.WebControls.dll文件復制到主目錄中建立的項目文件夾下in中。

通過對以上四個方面的操作,iewebcontrols才能正常使用。

二、添加控件

打開Microsoft Visual Studio .NET, 在web工具箱中單擊右鍵,選擇自定義工具箱à.NET框架組件,通過瀏覽添加Microsoft.Web.UI.WebControls.dll文件,添加后可以在.NET框架組件中選擇命名空間為microsoft.web.ui.webcontrols的treeview。

三、treeview屬性和方法介紹

在窗體中添加一個treeview控件,通過treeview對象的屬性nodes創建所需的樹形結構。

例:建立如下樹形結構



窗體中HTML代碼為:

<iewc:treeview id=”treeview1” autoselect=false shoplus=true showlines=true expandlevel=2 runat=server>
<iewc:treenode text=”科目” >
<iewc:treenode text=”語文” />
<iewc:treenode text=”數學” />
<iewc:treenode text=”英語” />
</iewc:treenode>
</iewc:treeview>

1、autoselect=”false”:當訪問者在treeview控件中對節點進行定位時,可以使用鍵盤上的箭頭來進行定位。屬性值為“false“,則不允許這樣做。

2、Showplus=”true”:當兩個節點收到一起的時候,你可以顯示一個加號(+),訪問者就知道這個節點可以展開,該屬性值為“true“將使用加號,否則不使用。

3、Showlines=”true”:在一個treeview控件中的兩個節點之間,可以顯示一些線長,為”true”顯示。

4、Expandlevel=2:用來定義treeview控件的層次結構展開的級別數。

5、navigateurl:點擊節點時的跳轉網址

如:

<iewc:treeview id=”treeview2” runat=server>
<iewc:treenode text=”喜愛的站點” >
<iewc:treenode text=”中國DOTNET俱樂部” navigateurl=”http://www.chinaaspx..com” />
<iewc:treenode text=”國家基礎教育資源網” navigateurl=”htt://www.cbern.gov.cn” />
</iewc:treenode>
</iewc:treeview>

6、index:獲取樹節點在樹節點集合中的位置

7、nodes:獲取分配給樹視圖控件的樹節點集合

8、parent:獲取或設置控件的父容器

9、selectednode:獲取或設置當前在樹視圖控件中選定的樹節點

10、text:獲取或設置在樹節點標簽中顯示的文本

11、expand:展開樹節點

12、clear:清空樹

13、remove:移除當前樹節點

14、checked:用以指明該樹節點是否處于選中狀態

四、簡單示例

對左邊樹形結構進行選擇,在右邊表格中查詢顯示結果。

說明:

1、 SelectedIndexChange事件是對樹結構進行選擇時產生的,還有一個觸發條件autopostback=true。

2、 例中數據庫由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=zlnetsdk;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


作者:http://www.zhujiangroad.com
來源:http://www.zhujiangroad.com
北斗有巢氏 有巢氏北斗