使用 ASP.Net TreeView 控件可以輕松地綁定到支持 IHIErarchicalDataSource 接口的數據源,例如:XMLDataSource 類和 SiteMapDataSource 類。此外,您還可以完全控制將數據源的哪些字段用於 Text、Value 和其他 TreeNode 屬性。
一、綁定到 XML 文件
TreeView 控件支持到 XML 文件的聲明性綁定(通過使用 XmlDataSource 控件)。通過創建一個表示 XML 文件的 XmlDataSource 控件,然後將該 XmlDataSource 分配給 TreeView 控件,可以將 TreeVIEw 控件綁定到該 XML 文件。而且,通過使用某些技術,可以對綁定到 TreeVIEw 控件的數據的綁定方式和數據內容進行控制,包括以下技術:
如果數據源是 XML 文件,則請在將該 XML 文件綁定到該控件之前,通過執行 XML 轉換改變數據。有關更多信息,請參見 XSLT 轉換。
創建一個自定義 DataBindings 屬性,來控制 XML 文件中的哪些屬性將填充 TreeNode 屬性,例如 Text 屬性、Value 屬性、NavigateUrl 屬性,等等。有關更多信息,請參見自定義 TreeVIEw Web 服務器控件的外觀。
二、綁定到站點地圖
TreeView 控件支持對站點地圖文件的聲明性綁定(通過使用 SiteMapDataSource 控件)。綁定到 SiteMapDataSource 控件的實例時,每個 SiteMapNode 的 Title 和 Url 屬性自動與 TreeVIEw 控件中的每個 TreeNode 對象的 Text 和 NavigateUrl 屬性相關聯,因此不必創建自定義數據綁定。
三、即需填充節點
即需填充功能允許您指定在最初呈現 TreeVIEw 控件時不使用數據填充節點。相反,TreeNode 控件將在用戶單擊節點時請求子節點數據。當 TreeNode 控件的 PopulateOnDemand 屬性被設置為 true 時,如果用戶單擊並展開該節點,則發生 TreeNodePopulate 事件。您可以創建一個事件處理程序,以在引發 TreeNodePopulate 事件時動態檢索數據,這樣就可以根據需要檢索樹數據。
四、非聲明性數據綁定
除了使用 DataSourceControl 的派生類聲明性地將數據綁定到 TreeView 控件,TreeVIEw 控件還提供了 DataSource 屬性和 DataBind 方法以用於數據綁定。
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.Net/dodream/archive/2009/12/18/5030088.ASPx