利用Treeview實現樹形列表

2021-04-17 00:35:22 字數 2344 閱讀 3858

以前,在web頁面中如果想使用樹形控制項的話,往往會有些麻煩,有時甚至要自己寫**來達到用樹形列表顯示資料的目的。在asp.net中,我們可以很方便地使用由微軟提供的internet exploer web controls控制項來

實現樹形列表。在微軟提供的這套internet exploere web controls控制項集合中,包括有multipage,tabstrip,*******,

treeview控制項。在這篇文章中,我們來看在asp.net中如何使用

treeview控制項和xml來

實現樹形列表。

在vs.net中新建乙個web工程,之後在工具箱中,滑鼠右鍵彈出的選單中,選擇「新增新項」,在自定義工具箱中,選擇treeview控制項(注意選擇的是命名空間為microsoft internet exploere web control的命名空間),按確定後,就可以在工具箱中出現treeview控制項了。

接著,將treeview控制項拖拉到窗體中,切換到html檢視,這時會發現有如下**:

<%@ register tagprefix="ie"

namespace="microsoft.web.ui.webcontrols"

assembly="microsoft.web.ui.webcontrols" %>

當然,你可以改變tagprefix的標記值,比如,改為foobar,那麼以後在引用treeview控制項時,就用如下方式引用:

treeview runat="server" ... />

現在,我們可以通過點選treeview控制項的屬性框中的nodes屬性,來為該樹新增各類結點了,由於比較簡單,這裡不詳細講述。下面是新增完各類結點後的**:

其中我們特別注意一下expanded="true"中的expanded屬性,該屬性當被設定為true時,則當頁面被裝載時,樹形控制項被全部展開。

以上是在設計時,靜態新增資料到樹形控制項的方法。而由於xml實質上也是以樹形結構來表示資料的結構,因此,就可以通過使用xml檔案繫結到樹形控制項的方法,來動態載入資料到控制項中去,其中有兩種方法可以實現:

1)另外寫乙個符合treeview格式的xml檔案

2)通過xsl將xml進行轉換。

先來看下第一種方法,建乙個xml檔案作為例子,命名為aspnetbooks.xml:

<?xml version="1.0" encoding="utf-8"?>

teach yourself active server pages 3.0 in 21 days

mitchell

atkinson

1999

designing active server pages

mitchell

2000

asp.net: tips, tutorials, and code

mitchell

mack

walther

seven

anders

nathan

wahlin

2001

asp unleashed

walther

1998

如果我們使用第一種方法,必須對xml進行重寫,用以下的形式表示,才能繫結到樹形控制項中去。

...就是說,根結點必須是treenodes(大小寫都無所謂),每個子結點必須以的形式排列。於是,我們對原來的xml檔案改寫為如下的形式:

<?xml version="1.0" encoding="utf-8"?>

〈/treenodes>

增加以下**:

這樣就將該xml檔案繫結到樹形控制項中去了,執行後可以看到結果:

asp.net books

teach yourself active server pages 3.0 in 21 days

designing active server pages

asp.net: tips, tutorials, and code

programming asp.net

可以看到,使用第一種方法的確比較麻煩,不能對xml的結點進行篩選或者其他操作。而如果使用第二種方法的xsl,則可以根據需要隨時對原來的xml進行格式的控制,十分方便。

在使用xsl時,可以用如下的方法對樹形控制項進行繫結:

其中,treenodexsltsrc的屬性中指定要轉換的xsl檔案,我們設計的xsl檔案如下:

price - $

year published -

在上面的xsl中,我們通過形如

的屬性設定,提取xml檔案中每個結點的值,將其賦值給予treenode的text屬性中。當然,也可以在xsl中使用xpath等設定要顯示的結點。

執行後,結果同樣與用第一種方法的一樣,能正確顯示樹形控制項,而且靈活性比較高。

轉貼 利用Treeview實現樹形列表

以前,在web頁面中如果想使用樹形控制項的話,往往會有些麻煩,有時甚至要自己寫 來達到用樹形列表顯示資料的目的。在asp.中,我們可以很方便地使用由微軟提供的inter exploer web controls控制項來實現樹形列表。在微軟提供的這套inter exploere web control...

Treeview 儲存過程動態繫結樹形

這是從同事那裡得來的 當然他也是從網上看來的。呵呵!整理了一下,這個方法繫結速度遠遠高於上一種 遞迴繫結 繫結樹控制項的方法。下面是cs中的 using system using system.data using system.configuration using system.collecti...

利用TYPE 實現列轉行

首先建立 bject 物件 create or replacetypeobj tableasobject fieldname varchar2 44 fieldvalue number 28,6 create or replace typetype tableas table ofobj table...