TreeNode.ShowCheckBox Свойство

Определение

Получает или задает значение, указывающее, отображается ли рядом с узлом флаг.

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)

Значение свойства

Nullable<Boolean>

Значение true, если флаг отображается; в противном случае — значение false.

Примеры

В следующем примере кода показано, как использовать свойство для программного ShowCheckBox отображения и скрытия флажка для узла в элементе TreeView управления. Чтобы этот пример работал правильно, необходимо скопировать приведенные ниже примеры XML-данных в файл с именем 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>

Следующий код является примером XML-данных для предыдущего примера.

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

Комментарии

Элемент TreeView управления позволяет отобразить флажок рядом с изображением узла. ShowCheckBox Используйте свойство для отображения или скрытия флажка для текущего узла.

ShowCheckBox Хотя свойство можно использовать для отображения флажок, чаще всего используется TreeView.ShowCheckBoxes свойство TreeView элемента управления. Однако TreeView.ShowCheckBoxes свойство влияет на каждый тип узла, указанный свойством. TreeNode.ShowCheckBox Поэтому свойство часто используется для переопределения этого параметра для отдельного узла.

TreeView.ShowCheckBoxes Так как свойство является свойством три состояния, следующий фрагмент кода C# вызывает ошибку компиляции:

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

Хотя VB.Net неявно приводит Boolean значение к объекту NullableBoolean, C# не выполняется. Поэтому рекомендуется явно проверить состояние свойства. Например, в следующих примерах кода в Visual Basic и C# явно проверяется значение Expanded свойства.

В следующем примере кода Visual Basic явно проверяется значение Expanded свойства. В этом примере проверяется Expanded , имеет ли Trueсвойство значение ; следовательно Nothing , и False выполняется ли инструкция If .

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

Этот пример кода C# явным образом проверяет значение Expanded свойства. В этом примере проверяется Expanded , имеет ли Trueсвойство значение ; следовательно Null , и False выполняется ли инструкция If .

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

Значение этого свойства хранится в состоянии представления.

Применяется к

См. также раздел