TreeNode.ShowCheckBox Propiedad

Definición

Obtiene o establece un valor que indica si se muestra una casilla al lado del nodo.

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)

Valor de propiedad

Nullable<Boolean>

Es true para mostrar la casilla; en caso contrario, es false.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la ShowCheckBox propiedad para mostrar y ocultar mediante programación la casilla de un nodo del TreeView control . Para que este ejemplo funcione correctamente, debe copiar los datos XML de ejemplo siguientes en un archivo denominado 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>

El código siguiente es datos XML de ejemplo para el ejemplo anterior.

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

Comentarios

El TreeView control permite mostrar una casilla junto a la imagen de un nodo. Utilice la ShowCheckBox propiedad para mostrar u ocultar la casilla del nodo actual.

Aunque la ShowCheckBox propiedad se puede usar para mostrar casillas, es más común usar la TreeView.ShowCheckBoxes propiedad del TreeView control . Sin embargo, la TreeView.ShowCheckBoxes propiedad afecta a todos los tipos de nodo especificados por la propiedad ; por lo tanto, la TreeNode.ShowCheckBox propiedad se usa a menudo para invalidar esa configuración para un nodo individual.

Dado que la TreeView.ShowCheckBoxes propiedad es una propiedad de tres estados, el siguiente fragmento de código de C# produce un error de compilación:

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

Aunque VB.Net convierte implícitamente el Boolean valor en , NullableBooleanC# no. Por lo tanto, es un procedimiento recomendado comprobar explícitamente el estado de la propiedad. Por ejemplo, los siguientes ejemplos de código de Visual Basic y C# prueban explícitamente el valor de la Expanded propiedad .

En el siguiente ejemplo de código Visual Basic se prueba explícitamente el valor de la Expanded propiedad . En este ejemplo se comprueba si la Expanded propiedad está establecida Trueen ; por lo tanto Nothing , y False pasa por la If instrucción .

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

En este ejemplo de código de C# se prueba explícitamente el valor de la Expanded propiedad . En este ejemplo se comprueba si la Expanded propiedad está establecida Trueen ; por lo tanto Null , y False pasa por la If instrucción .

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

El valor de esta propiedad se almacena en estado de vista.

Se aplica a

Consulte también