Freigeben über


TreeNode.ShowCheckBox Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob ein Kontrollkästchen neben dem Knoten angezeigt wird, oder legt diesen Wert fest.

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

Eigenschaftswert

Nullable<Boolean>

true, um das Kontrollkästchen anzuzeigen, andernfalls false.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie sie die ShowCheckBox Eigenschaft zum programmgesteuerten Anzeigen und Ausblenden des Kontrollkästchens für einen Knoten im TreeView Steuerelement verwenden. Damit dieses Beispiel ordnungsgemäß funktioniert, müssen Sie die folgenden XML-Beispieldaten in eine Datei mit dem Namen Book.xml kopieren.


<%@ 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, show a check box.
    if(e.Node.Depth == 1)
    {

      e.Node.ShowCheckBox = true;

    }
    else
    {

      e.Node.ShowCheckBox = false;

    }

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode ShowCheckBox Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode ShowCheckBox Example</h3>
    
      <asp:TreeView id="BookTreeView" 
         DataSourceID="BookXmlDataSource"
         OnTreeNodeDataBound="Data_Bound"
         ShowCheckBoxes="None"
         ExpandDepth="2"  
         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, show a check box.
    If e.Node.Depth = 1 Then

      e.Node.ShowCheckBox = True

    Else

      e.Node.ShowCheckBox = False

    End If

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeNode ShowCheckBox Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeNode ShowCheckBox Example</h3>
    
      <asp:TreeView id="BookTreeView" 
         DataSourceID="BookXmlDataSource"
         OnTreeNodeDataBound="Data_Bound"
         ShowCheckBoxes="None"
         ExpandDepth="2"  
         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>

Der folgende Code ist Beispiel-XML-Daten für das vorherige Beispiel.

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

Hinweise

Mit dem TreeView Steuerelement können Sie ein Kontrollkästchen neben dem Bild eines Knotens anzeigen. Verwenden Sie die ShowCheckBox Eigenschaft, um das Kontrollkästchen für den aktuellen Knoten anzuzeigen oder auszublenden.

Obwohl die ShowCheckBox Eigenschaft zum Anzeigen von Kontrollkästchen verwendet werden kann, ist es häufiger, die TreeView.ShowCheckBoxes Eigenschaft des TreeView Steuerelements zu verwenden. Die TreeView.ShowCheckBoxes Eigenschaft wirkt sich jedoch auf jeden von der Eigenschaft angegebenen Knotentyp aus. Daher wird die TreeNode.ShowCheckBox Eigenschaft häufig verwendet, um diese Einstellung für einen einzelnen Knoten außer Kraft zu setzen.

Da die TreeView.ShowCheckBoxes Eigenschaft eine Tri-State-Eigenschaft ist, verursacht der folgende C#-Codeausschnitt einen Kompilierungsfehler:

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

Während VB.Net implizit den Boolean Wert in einen NullableBooleanC#-Wert umgibt, wird dieser nicht ausgeführt. Daher empfiehlt es sich, den Status der Eigenschaft explizit zu überprüfen. Die folgenden Codebeispiele in Visual Basic und C# testen beispielsweise explizit den Wert der Expanded Eigenschaft.

Im folgenden Visual Basic Codebeispiel wird der Wert der Expanded Eigenschaft explizit getestet. In diesem Beispiel wird getestet, ob die Expanded Eigenschaft auf True; daher Nothing festgelegt ist und False die If Anweisung durchfällt.

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

In diesem C#-Codebeispiel wird der Wert der Expanded Eigenschaft explizit getestet. In diesem Beispiel wird getestet, ob die Expanded Eigenschaft auf True; daher Null festgelegt ist und False die If Anweisung durchfällt.

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

Der Wert dieser Eigenschaft wird im Ansichtszustand gespeichert.

Gilt für

Siehe auch