TreeNode.Expanded Właściwość

Definicja

Pobiera lub ustawia wartość wskazującą, czy węzeł jest rozszerzony.

public:
 property Nullable<bool> Expanded { Nullable<bool> get(); void set(Nullable<bool> value); };
public bool? Expanded { get; set; }
member this.Expanded : Nullable<bool> with get, set
Public Property Expanded As Nullable(Of Boolean)

Wartość właściwości

true jeśli węzeł zostanie rozszerzony, false jeśli węzeł nie zostanie rozwinięty lub null.

Przykłady

W poniższym przykładzie kodu pokazano, jak za pomocą Expanded właściwości programowo rozwinąć węzeł. Inicjuje wszystkie węzły o głębokości jednego do rozszerzonego stanu. Zwróć uwagę, że po rozwinięciu węzła głównego jego węzły podrzędne są już rozwinięte. Aby ten przykład działał poprawnie, należy skopiować przykładowe dane XML poniżej do pliku o nazwie 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)
    {

      e.Node.Expanded = true;

    }
    else
    {

      e.Node.Expanded = false;

    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode Expanded Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode Expanded Example</h3>
    
      <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
            e.Node.Expanded = True
        Else
            e.Node.Expanded = False
        End If
    End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode Expanded Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode Expanded Example</h3>
    
      <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>

Poniższy kod to przykładowe dane XML dla poprzedniego przykładu.

<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>  

Uwagi

Expanded Użyj właściwości , aby określić lub określić, czy węzeł jest rozszerzony.

Węzeł można rozwinąć i zwinąć, wywołując Expand odpowiednio metody i Collapse . Można również rozwinąć i zwinąć węzeł oraz wszystkie jego węzły podrzędne, wywołując ExpandAll odpowiednio metody i CollapseAll .

Expanded Ponieważ właściwość jest właściwością trójstanową, następujący fragment kodu języka C# powoduje błąd kompilacji:

protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)  
{  
if (TreeView1.Nodes[0].Expanded)  
{  
// some work here   
}  
}  

Chociaż VB.Net niejawnie rzutuje Boolean wartość na NullableBooleanwartość , język C# nie. Dlatego najlepszym rozwiązaniem jest jawne sprawdzenie stanu właściwości. Na przykład następujące przykłady kodu w visual basic i C# jawnie przetestuj Expanded wartość właściwości.

Poniższy przykład kodu języka Visual Basic jawnie sprawdza wartość Expanded właściwości. Ten przykład sprawdza, czy Expanded właściwość jest ustawiona na ; w związku z tym Nothing i False należy wykonać Trueinstrukcję If .

If TreeView1.Nodes(0).Expanded = True Then 'some work hereEnd IF  

Ten przykład kodu w języku C# jawnie sprawdza wartość Expanded właściwości. Ten przykład sprawdza, czy Expanded właściwość jest ustawiona na ; w związku z tym Null i False należy wykonać Trueinstrukcję If .

if( TreeView1.Nodes[0].Expanded == true ) { //some work here}  

Dotyczy

Zobacz też