次の方法で共有


TreeNode.CollapseAll メソッド

定義

現在のノードとそのすべての子ノードを折りたたみます。

public:
 void CollapseAll();
public void CollapseAll ();
member this.CollapseAll : unit -> unit
Public Sub CollapseAll ()

次のコード例は、メソッドを CollapseAll 使用して、コントロール内のノードとそのすべての子ノードをプログラムで折りたたむ方法を TreeView 示しています。 この例を正しく機能させるには、以下のサンプル XML データを Book.xml という名前のファイルにコピーする必要があります。


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Data_Bound(Object sender, TreeNodeEventArgs e)
  {

    // Determine the depth of a node as it is bound to data.
    // If the depth is 1, expand the node.
    if(e.Node.Depth == 1)
    {

      // Expand the node using the ExpandAll method.
      e.Node.ExpandAll();

    }
    else
    {

      // Collapse the node using the CollapseAll method.
      e.Node.CollapseAll();

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode ExpandAll and CollapseAll Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode ExpandAll and CollapseAll Example</h3>
      
      <h5>Expand the root node. Notice that the child nodes are already expanded.</h5>
    
      <asp:TreeView id="BookTreeView" 
         DataSourceID="BookXmlDataSource"
         OnTreeNodeDataBound="Data_Bound"
         runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
        </DataBindings>
         
      </asp:TreeView>
      
      <asp:XmlDataSource id="BookXmlDataSource"  
         DataFile="Book.xml"
         runat="server">
      </asp:XmlDataSource>
    
    </form>
  </body>
</html>

<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Sub Data_Bound(ByVal sender As Object, ByVal e As TreeNodeEventArgs)

    ' Determine the depth of a node as it is bound to data.
    ' If the depth is 1, expand the node.
    If e.Node.Depth = 1 Then

      ' Expand the node using the ExpandAll method.
      e.Node.ExpandAll()

    Else

      ' Collapse the node using the CollapseAll method.
      e.Node.CollapseAll()

    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode ExpandAll and CollapseAll Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode ExpandAll and CollapseAll Example</h3>
      
      <h5>Expand the root node. Notice that the child nodes are already expanded.</h5>
    
      <asp:TreeView id="BookTreeView" 
         DataSourceID="BookXmlDataSource"
         OnTreeNodeDataBound="Data_Bound"
         runat="server">
         
        <DataBindings>
          <asp:TreeNodeBinding DataMember="Book" TextField="Title"/>
          <asp:TreeNodeBinding DataMember="Chapter" TextField="Heading"/>
          <asp:TreeNodeBinding DataMember="Section" TextField="Heading"/>
        </DataBindings>
         
      </asp:TreeView>
      
      <asp:XmlDataSource id="BookXmlDataSource"  
         DataFile="Book.xml"
         runat="server">
      </asp:XmlDataSource>
    
    </form>
  </body>
</html>

次のコードは、前の例のサンプル XML データです。

<Book Title="Book Title">  
    <Chapter Heading="Chapter 1">  
        <Section Heading="Section 1">  
        </Section>  
        <Section Heading="Section 2">  
        </Section>  
    </Chapter>  
    <Chapter Heading="Chapter 2">  
        <Section Heading="Section 1">  
        </Section>  
    </Chapter>  
</Book>  

注釈

メソッドを CollapseAll 使用して、現在のノードとそのすべての子ノードを簡単に折りたたみます。

注意

別の方法として、現在の Expanded ノードとその各子ノードのプロパティを に false設定することもできます。

現在のノードのみを折りたたむには、メソッドの使用を Collapse 検討してください。

CollapseAll では、ツリー全体のすべてのノードが折りたたまれます。

適用対象

こちらもご覧ください