Sdílet prostřednictvím


TreeNode.Expanded Vlastnost

Definice

Získá nebo nastaví hodnotu, která označuje, zda uzel je rozbalený.

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)

Hodnota vlastnosti

true pokud je uzel rozbalený, false pokud uzel není rozbalený nebo null.

Příklady

Následující příklad kódu ukazuje, jak použít Expanded vlastnost k programovému rozšíření uzlu. Inicializuje všechny uzly s hloubkou jednoho do rozšířeného stavu. Všimněte si, že po rozbalení kořenového uzlu jsou jeho podřízené uzly již rozbalené. Aby tento příklad fungoval správně, musíte zkopírovat ukázková data XML níže do souboru s názvem 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>

Následující kód představuje ukázková data XML pro předchozí příklad.

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

Poznámky

Expanded Pomocí vlastnosti můžete určit nebo určit, zda je uzel rozbalený.

Uzel můžete rozbalit a sbalit voláním Expand metod a Collapse metod. Uzel a všechny jeho podřízené uzly můžete také rozbalit a sbalit voláním ExpandAll metod a CollapseAll metod.

Vzhledem k tomu, že Expanded je tato vlastnost tri-state, následující fragment kódu jazyka C# způsobí chybu kompilace:

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

Zatímco VB.Net implicitně přetypuje Boolean hodnotu na , NullableBooleanC# ne. Proto je osvědčeným postupem explicitně zkontrolovat stav vlastnosti. Například následující příklady kódu v jazyce Visual Basic a C# explicitně otestují hodnotu Expanded vlastnosti.

Následující příklad kódu jazyka Visual Basic explicitně testuje hodnotu Expanded vlastnosti. Tento příklad testuje, zda Expanded je vlastnost nastavena na True; a False proto Nothing projít If příkazem.

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

Tento příklad kódu jazyka Expanded C# explicitně testuje hodnotu vlastnosti. Tento příklad testuje, zda Expanded je vlastnost nastavena na True; a False proto Null projít If příkazem.

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

Platí pro

Viz také