TreeNode.Expanded Właściwość

Definicja

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

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

Nullable<Boolean>

true jeśli węzeł jest rozwinięty, false jeśli węzeł nie jest 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 jednej 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 rozwinięty.

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. W związku z tym 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 testuje wartość Expanded właściwości.

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

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

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

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

Dotyczy

Zobacz też