TreeNode.ChildNodes Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает коллекцию TreeNodeCollection, содержащую дочерние узлы первого уровня для данного узла.
public:
property System::Web::UI::WebControls::TreeNodeCollection ^ ChildNodes { System::Web::UI::WebControls::TreeNodeCollection ^ get(); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerDefaultProperty)]
public System.Web.UI.WebControls.TreeNodeCollection ChildNodes { get; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerDefaultProperty)>]
member this.ChildNodes : System.Web.UI.WebControls.TreeNodeCollection
Public ReadOnly Property ChildNodes As TreeNodeCollection
Значение свойства
TreeNodeCollection, содержащая дочерние узлы первого уровня для данного узла.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать ChildNodes свойство для обхода дерева.
<%@ 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 Page_Load(Object sender, EventArgs e)
{
// If the TreeView control contains any root nodes, perform a
// preorder traversal of the tree and display the text of each node.
if(LinksTreeView.Nodes.Count > 0)
{
// Iterate through the root nodes in the Nodes property.
for(int i=0; i<LinksTreeView.Nodes.Count; i++)
{
// Display the nodes.
DisplayChildNodeText(LinksTreeView.Nodes[i]);
}
}
else
{
Message.Text = "The TreeView control does not have any nodes.";
}
}
void DisplayChildNodeText(TreeNode node)
{
// Display the node's text value.
Message.Text += node.Text + "<br />";
// Iterate through the child nodes of the parent node passed into
// this method and display their values.
for(int i=0; i<node.ChildNodes.Count; i++)
{
// Recursively call the DisplayChildNodeText method to
// traverse the tree and display all the child nodes.
DisplayChildNodeText(node.ChildNodes[i]);
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Count Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection Count Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
runat="server">
<LevelStyles>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Bold="true"
Font-Size="12pt"
ForeColor="DarkGreen"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-Bold="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-UnderLine="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Size="8pt"/>
</LevelStyles>
<Nodes>
<asp:TreeNode Text="Table of Contents"
Expanded="true">
<asp:TreeNode Text="Chapter One">
<asp:TreeNode Text="Section 1.0">
<asp:TreeNode Text="Topic 1.0.1"/>
<asp:TreeNode Text="Topic 1.0.2"/>
<asp:TreeNode Text="Topic 1.0.3"/>
</asp:TreeNode>
<asp:TreeNode Text="Section 1.1">
<asp:TreeNode Text="Topic 1.1.1"/>
<asp:TreeNode Text="Topic 1.1.2"/>
<asp:TreeNode Text="Topic 1.1.3"/>
<asp:TreeNode Text="Topic 1.1.4"/>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Chapter Two">
<asp:TreeNode Text="Section 2.0">
<asp:TreeNode Text="Topic 2.0.1">
<asp:TreeNode Text="Subtopic 1"/>
<asp:TreeNode Text="Subtopic 2"/>
</asp:TreeNode>
<asp:TreeNode Text="Topic 2.0.2"/>
</asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Appendix A" />
<asp:TreeNode Text="Appendix B" />
<asp:TreeNode Text="Appendix C" />
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message"
runat="server"/>
</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 Page_Load(ByVal sender As Object, ByVal e As EventArgs)
' If the TreeView control contains any root nodes, perform a
' preorder traversal of the tree and display the text of each node.
If LinksTreeView.Nodes.Count > 0 Then
' Iterate through the root nodes in the Nodes property.
Dim i As Integer
For i = 0 To LinksTreeView.Nodes.Count - 1
' Display the nodes.
DisplayChildNodeText(LinksTreeView.Nodes(i))
Next i
Else
Message.Text = "The TreeView control does not have any nodes."
End If
End Sub
Sub DisplayChildNodeText(ByVal node As TreeNode)
' Display the node's text value.
Message.Text &= node.Text & "<br />"
' Iterate through the child nodes of the parent node passed into
' this method and display their values.
Dim i As Integer
For i = 0 To node.ChildNodes.Count - 1
' Recursively call the DisplayChildNodeText method to
' traverse the tree and display all the child nodes.
DisplayChildNodeText(node.ChildNodes(i))
Next i
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Count Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection Count Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
runat="server">
<LevelStyles>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Bold="true"
Font-Size="12pt"
ForeColor="DarkGreen"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-Bold="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-UnderLine="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Size="8pt"/>
</LevelStyles>
<Nodes>
<asp:TreeNode Text="Table of Contents"
Expanded="true">
<asp:TreeNode Text="Chapter One">
<asp:TreeNode Text="Section 1.0">
<asp:TreeNode Text="Topic 1.0.1"/>
<asp:TreeNode Text="Topic 1.0.2"/>
<asp:TreeNode Text="Topic 1.0.3"/>
</asp:TreeNode>
<asp:TreeNode Text="Section 1.1">
<asp:TreeNode Text="Topic 1.1.1"/>
<asp:TreeNode Text="Topic 1.1.2"/>
<asp:TreeNode Text="Topic 1.1.3"/>
<asp:TreeNode Text="Topic 1.1.4"/>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Chapter Two">
<asp:TreeNode Text="Section 2.0">
<asp:TreeNode Text="Topic 2.0.1">
<asp:TreeNode Text="Subtopic 1"/>
<asp:TreeNode Text="Subtopic 2"/>
</asp:TreeNode>
<asp:TreeNode Text="Topic 2.0.2"/>
</asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Appendix A" />
<asp:TreeNode Text="Appendix B" />
<asp:TreeNode Text="Appendix C" />
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message"
runat="server"/>
</form>
</body>
</html>
Комментарии
ChildNodes Используйте свойство, чтобы получить TreeNodeCollection коллекцию, содержащую дочерние узлы первого уровня текущего узла. Эта коллекция обычно используется для прохода по всем дочерним узлам первого уровня или для доступа к конкретному дочернему узлу первого уровня текущего узла.
Это ChildNodes свойство также можно использовать для программного управления дочерними узлами первого уровня в текущем узле. Вы можете добавлять, вставлять, удалять и извлекать TreeNode объекты из коллекции. Все обновления коллекции будут автоматически отражены в TreeView элементе управления при следующем обновлении страницы.
Чтобы получить доступ к дочерним узлам вниз по дереву, используйте ChildNodes свойство дочернего узла следующего уровня для перехода вниз по уровням узлов.