TreeNode.ShowCheckBox Egenskap

Definition

Hämtar eller anger ett värde som anger om en kryssruta visas bredvid noden.

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)

Egenskapsvärde

trueför att visa kryssrutan; annars . false

Exempel

I följande kodexempel visas hur du använder ShowCheckBox egenskapen för att programmatiskt visa och dölja kryssrutan för en nod i TreeView kontrollen. För att det här exemplet ska fungera korrekt måste du kopiera XML-exempeldata nedan till en fil med namnet 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, 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>

Följande kod är XML-exempeldata för föregående exempel.

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

Kommentarer

Med TreeView kontrollen kan du visa en kryssruta bredvid en nods bild. Använd egenskapen ShowCheckBox för att visa eller dölja kryssrutan för den aktuella noden.

Även om egenskapen ShowCheckBox kan användas för att visa kryssrutor är det vanligare att använda TreeView.ShowCheckBoxes kontrollens TreeView egenskap. Egenskapen TreeView.ShowCheckBoxes påverkar dock varje nodtyp som anges av egenskapen. Därför används egenskapen ofta för att åsidosätta den TreeNode.ShowCheckBox inställningen för en enskild nod.

Eftersom egenskapen TreeView.ShowCheckBoxes är en tri-state-egenskap orsakar följande C#-kodfragment ett kompileringsfel:

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

Även om VB.Net implicit omvandlar Boolean värdet till en NullableBoolean, gör inte C# det. Därför är det bästa praxis att uttryckligen kontrollera egenskapens tillstånd. Följande kodexempel i Visual Basic och C# testar till exempel uttryckligen värdet för egenskapen Expanded.

I följande Visual Basic kodexempel testas uttryckligen värdet för egenskapen Expanded. I det här exemplet testas Expanded om egenskapen är inställd på True; och False därför Nothing faller igenom -instruktionenIf.

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

I det här C#-kodexemplet testas uttryckligen värdet för Expanded egenskapen. I det här exemplet testas Expanded om egenskapen är inställd på True; och False därför Null faller igenom -instruktionenIf.

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

Värdet för den här egenskapen lagras i visningstillstånd.

Gäller för

Se även