在 TreeView 控制項中顯示分層資料

2021-09-01 11:25:36 字數 1501 閱讀 7362

1、在web.config檔案中建立以下資料庫連線字串

<

connectionstrings

>

<

add name="

northwindconnectionstring

"connectionstring="

data source=localhost;initial catalog=northwind;integrated security=true

"providername="

system.data.sqlclient

"/>

connectionstrings

>

2、在treeview頁面中新增以下**

protected

void

treeview1_treenodepopulate(

object

sender, treenodeeventargs e)}}

當使用者單擊乙個節點以開啟該節點時,會呼叫此**。因為需要在樹的不同級別顯示不同的資料,所以必須確定使用者單擊的節點深度,然後適當地填充該級別的節點。在此演練中,如果使用者單擊根節點(深度為 0),則呼叫populatecategories方法。如果使用者單擊類別名稱(深度為 1),則呼叫populateproducts方法。這些方法在下一節中演示。

物件提供對當前節點的程式設計訪問。若要填充節點,請向節點新增元素。在該**示例中,節點被傳遞至方法,該方法將新增子節點。

void

populatecategories(treenode node)}}

該**建立 物件,該物件封裝查詢的文字。**將該物件傳遞至乙個隨後將要編寫的方法,該方法執行資料庫查詢,並返回 物件。此**然後遍歷dataset物件中的記錄,並為每條記錄建立乙個新的節點,以資料庫資訊設定該節點的文字和值。然後,**將每個節點的 屬性設定為true,以使節點在被單擊時將引發其treenodepopulate事件。 屬性被設定,以使節點在預設情況下展開。

第二級別的節點將顯示每個類別的產品。由於此原因,填充產品節點需要引數化查詢,以使您能夠檢索當前類別的產品,並以恰當方式填充子節點。

void

populateproducts(treenode node)}}

此**與用以填充類別節點的**類似。不同之一是sqlcommand物件配置有乙個引數,在執行時,以使用者單擊的節點(即選擇的類別)的值來設定該引數。另一不同之處是populateondemand屬性設定為false。這導致產品節點顯示後不帶有展開按鈕,這是必須的,因為產品下再沒有節點。

private

dataset runquery(sqlcommand sqlquery)

catch

return

resultsdataset;}

在 TreeView 控制項中顯示分層資料

1 在web.config檔案中建立以下資料庫連線字串 connectionstrings add name northwindconnectionstring connectionstring data source localhost initial catalog northwind inte...

解決TreeView控制項不能顯示的問題

今兒個幫公司維護官網,發現了奇怪的問題。進入後台管理的時候,原來的treeview控制項不能正常顯示了,只有一堆亂七八糟的文字。剛開始,我以為是瀏覽器相容性問題,後來換了幾個瀏覽器再試,結果還是一樣。經過一番思考,我開始懷疑我本機的系統環境沒有配置好,或者是跟伺服器環境有部分的差異。我仔細檢查了一下...

解決TreeView控制項不能顯示的問題

今兒個幫公司維護官網,發現了奇怪的問題。進入後台管理的時候,原來的treeview控制項不能正常顯示了,只有一堆亂七八糟的文字。剛開始,我以為是瀏覽器相容性問題,後來換了幾個瀏覽器再試,結果還是一樣。經過一番思考,我開始懷疑我本機的系統環境沒有配置好,或者是跟伺服器環境有部分的差異。我仔細檢查了一下...