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)
Значение свойства
Значение 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}
Значение этого свойства хранится в состоянии представления.