2013-08-30 43 views
1

我通過XmlDataSource得到了簡單的TreeView綁定。這些數據代表了某些內容的類別。我需要顯示這些類別的記錄數。我怎樣才能做到這一點?我得到這樣的代碼:計數記錄在數據綁定TreeView

<asp:TreeView ID="TreeView1" 
     runat="server" 
     DataSourceID="XmlDataSource1" 
     ImageSet="Arrows" 
     ExpandDepth="1" 
     OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"> 
     <DataBindings> 
      <asp:TreeNodeBinding DataMember="root" TextField="name" ValueField="id" /> 
      <asp:TreeNodeBinding DataMember="category" TextField="name" ValueField="id" /> 
      <asp:TreeNodeBinding DataMember="subcategory" TextField="name" ValueField="id" /> 
      <asp:TreeNodeBinding DataMember="subsubcategory" TextField="name" ValueField="id" /> 
     </DataBindings> 
     <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" /> 
     <NodeStyle Font-Names="Tahoma" 
      Font-Size="10pt" 
      ForeColor="Black" 
      HorizontalPadding="5px" 
      NodeSpacing="0px" 
      VerticalPadding="0px" /> 
     <ParentNodeStyle Font-Bold="False" /> 
     <SelectedNodeStyle Font-Underline="True" 
      ForeColor="#5555DD" 
      HorizontalPadding="0px" 
      VerticalPadding="0px" /> 
    </asp:TreeView> 
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/Categories.xml"> 
</asp:XmlDataSource> 

我應該從這個頁面調用一些Sql命令還是從XmlDataSource?感謝您的建議

回答

0

這裏是我會怎樣繼續顯示附加到名兒童的numbre,使用TreeNodeDataBound事件處理程序,並聲明XPathNavigator

protected void TreeView1_TreeNodeDataBound(object sender, TreeNodeEventArgs e) 
    { 
    XmlElement myElement = (XmlElement)e.Node.DataItem; 
    // e.Node.NavigateUrl = ... 
    // e.Node.Expanded = ... 
    e.Node.Text = String.Format("{0} ({1})" 
        ,myElement.Attributes["name"].Value 
        ,myElement.CreateNavigator().Evaluate("count(./child::*)")); 
} 

希望這將有助於