2013-08-01 168 views
2

我想將xml外部文件綁定到TreeView,但我想使用相同的XMLDataSource來填充其他控件。將XML綁定到控件

所以首先我想知道什麼是最好的方法來做到這一點。因爲我認爲如果將XPathTransformFile應用於DataSource,我將限制數據源,並且我將無法在其他控件中使用它。

接下來,如果有一種方法指定該xml的根節點以綁定到TreeView,並且可以隱藏某些節點。

這是我到目前爲止所做的。

<asp:TreeView ID="TreeView1" runat="server" DataSourceID="XmlDataSource1" ExpandDepth="1" > 
    <DataBindings > 
      <asp:TreeNodeBinding DataMember="header" TextField="title"/> 
      <asp:TreeNodeBinding DataMember="group" TextField="name"/> 
      <asp:TreeNodeBinding DataMember="item" TextField="text" /> 
    </DataBindings>              
</asp:TreeView> 

回答

0

的回答你的問題是在做這兩件事情:

  1. 讀取XML到一個可重用的對象。我可以將DataSet視爲您的最佳選擇。這樣數據一旦讀入數據集就可以重用來綁定其他對象。這裏是鏈接,您可以在這裏找到如何將XML讀入數據集的示例。 http://www.codeproject.com/Articles/10427/Convert-XML-Data-to-DataSet-and-Back

  2. 另一部分是將DataSet綁定到樹視圖,這裏是一個例子: http://www.codeproject.com/Articles/25753/Binding-the-ASP-NET-TreeView-to-a-DataSet-or-an-Ob

與第二部分的問題,可能是你的數據集結構可能在這種情況下適用於綁定樹視圖,您可以進一步過濾數據。

+0

爲什麼這是最好的選擇? xmldatasource沒有緩存? –