熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

在.NET開發中靈活使用TreeView控件

2013-11-13 10:42:28  來源: .NET編程 

  ASPNET真正有用的特性就是其可擴充性世界各地的開發人員都可以創建自己的自定義控件這種自定義控件可以方便地在你自己的過程中進行定義其中Internet Explorer Web Controls就是由微軟公司在標准的ASPNET控件之外創建的這樣一個集合

  Windows資源管理器中的驅動器和其下的文件及文件夾就是按照一種層次結構來安排的在這個控件集中有一個treeview控件為我們提供了一種按層次結構顯示信息的方式treeview控件包含了稱做“節點”(node)的一些條目的一個列表每一個節點都可以有自己的節點集合從而提供了一種更深層的數據定義每個節點都可以被折疊起來從而允許訪問者在一個treeview控件中查找只看他所感興趣的那一級的數據就像Windows的資源管理器一樣

  首先得明確一點就是測試的環境只要環境正確接下來的工作就很輕松了

  要測試該控件得有一個叫IE WebControls的文件具體的文件可以點擊這裡下載或到微軟的網站去下載

  按照他提供的方法進行安裝如有不清楚請仔細看清楚他的readme文檔

  這裡跳過下載方法直接進入環境的配置

  IE Web Controls

  雙擊安裝完成默認:系統盤:program filesIE Web Controls目錄下

  運行“程序——Microsoft Visual StudioNET ——Visual StudioNET 工具 ——Microsoft Visual StudioNET 命令提示符”進入到IE Web Control 安裝目錄

  運行buildbat

  運行xcopy /s /i buildRuntime (網站根目錄默認系統盤):Inetpubwwwrootwebctrl_client_ /y

  在”工具箱——web窗體“單擊右鍵選擇“添加/移除項在彈出對話框中選擇net framwork 組件單擊“浏覽”找到IE WebControldll 文件添加上即可

  這樣就配置好了運行環境接下來進行實操作階段了

  一定義TreeView控件

  代碼拷貝框

  導入名稱空間
<%@ import namespace="MicrosoftwebUIwebcontros"%>
注冊這個名稱空間並為其給定一個TagPrefix以便於對這個控件庫中的控件進行定義
<%@ register tagprefix = "iecontrols"
namespace="MicrosoftwebUIwebcontrols"
assembly="microsoftwebUIwebcontrols"
%>
設置好指令後就可以定義下面這樣的一個treeview控件了
<iecontrols:treeview
id="tvbasic"
autoselect="false"
shoplus="true"
showlines="true"
expandlevel=
runat="server"


</idcontrols:treeview>

  下面來解釋一下相應代碼:

  autoselect = "false"

  當訪問者在TreeView控件中對節點進行定位時可以使用鍵盤上的箭頭來進行這種定位當這個TreeView控件的autoselect屬性值設為TRUE時可以使用鍵盤上的鍵來在treeview控件中滾動以選聶一個條目如果設置為false的話則不允許這樣做

  showplus="true"

  當一個treeview控件中的兩個節點收到一起的時候你可以顯示一個加號(+)訪問者就知道這個節點可以展開通過設置showplus屬性你可以控制在這個位置是否顯示加號如果這個屬性值設為true將使用加號;否則不使用

  showlines="true"

  在一個treeview控件中的兩個節點之間可以顯示一些線條通過設置showlines屬性你可以控制是否顯示這樣的線條

  Expandlevel=

  這個Treeview控件的Expandlevel屬性用來確定在默認的情況下沿著這個treeview控件的層次結構展開的級別數

  <iecontrols:treeview>

</iecontrols:treeview>

  在這個treeview控件定義的開始和結束標記之間可以定義一些treenode控件

  二在treeview控件中使用treenode控件

  如果你創建一個treeview控件的話就需要在其中添加一些treenode控件來顯示一些信息treenode控件顯示為treeview控件的層次結構中的一個項treenode控件可以包含了treeview控件;或者該控件本身也可以獨立存在下面將向你展示如何在一個treeview控件中定義treenode控件

  本實例將顯示我喜歡的一些網站其中每個網站可以是一個獨立的或者在其下還有其它網站這個treeview控件具有如下定義:

  代碼拷貝框

  <iecontrols:treeview
id="tvwebsite"
autoselect ="false"
showplus="true"
showlines="true"
expandlevel=
runat = "server"

接下來在treeview控件的開始和結束標記中定義treenode控件
<iecontrols:treenode text="我常去的站點">
<idcontrols:treenode text="設計類站點">
<idcontrols:treenode text="藍色理想" />
<idcontrols:treenode text="有風的日子" />
<idcontrols:treenode text="設計聯盟" />
</iecontrols:treenode>
<iecontrols:treenode text="編程類站點">
<iecontrols:treenode text="ASP編程">
<iecontrols:treenode text="ASP COOL" />
<iecontrols:treenode text=""/>
</iecontrols:treenode>
<iecontrols:treenode text="ASPNET編程">
<iecontrols:treenode text="Dotnet技術網" />
<iecontrols:treenode text="aspnet"/>
</iecontrols:treenode>
<iecontrols:treenode text="程序員大本營" />
</iecontrols:treenode>
</iecontrols:treenode>

  其中定義了一個兩級的節點這個樹狀視圖中包含了"設計類站點"和"編程類站點"這二個大節點而"編程類站點"中又有兩個子節點"ASP編程"和"aspnet編程"其中每個子節點又都定義了其他的節點

  要注意包含其他節點的treenode控件和獨立的treenode控件之間的差別當一個treenode控件中還有其它treenode控件時這些子控件在其父控件的開始和結束標記之間進行定義:

  <iecontrols:treenode text="">
</iecontrols:treenode>

  但對於一個獨立的treenode控件來說其開始和結束標記是自包含的:

  <iecontrols:treenode text="" />

  當頁面首次加載時這就是整個視圖節點的展開情況由於這裡的expandlevel屬性值設為因此將顯示到所有級別上的節點此外還要注意的是由於showlines屬性和showplus屬性都為true因此在所有顯示的這個視圖中連接節點間的線條和連接框都顯示出來

  "我常去的站點"是當前選中的節點項訪問者可以敲擊回車或者在這個節點上點擊鼠標然後訪問者可以使用鍵盤上的箭頭來沿著樹狀視圖的層次結構進行定位


From:http://tw.wingwit.com/Article/program/net/201311/14346.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.