TreeNode.ShowCheckBox Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
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 , NullableBoolean
C# 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 True
en ; 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 True
en ; 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.