TreeNodeCollection Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public ref class TreeNodeCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class TreeNodeCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type TreeNodeCollection = class
interface ICollection
interface IEnumerable
interface IStateManager
Public NotInheritable Class TreeNodeCollection
Implements ICollection, IStateManager
- Наследование
-
TreeNodeCollection
- Реализации
Примеры
В следующем примере показано, как программным способом добавлять узлы и удалять их из TreeNodeCollection. Обратите внимание, что Nodes и ChildNodes свойства возвращают TreeNodeCollection объект.
<%@ 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 (!IsPostBack)
{
// Use the Add and Remove methods to programmatically
// remove the Appendix C node and replace it with a new
// node.
LinksTreeView.Nodes.Remove(LinksTreeView.Nodes[3]);
LinksTreeView.Nodes.Add(new TreeNode("New Appendix C"));
// Use the AddAt and RemoveAt methods to programmatically
// remove the Chapter One node and replace it with a new node.
LinksTreeView.Nodes[0].ChildNodes.RemoveAt(0);
LinksTreeView.Nodes[0].ChildNodes.AddAt(0, new TreeNode("New Chapter One"));
// Use the Clear method to remove all the child nodes of the
// Chapter Two node.
LinksTreeView.Nodes[0].ChildNodes[1].ChildNodes.Clear();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection 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="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>
</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 Not IsPostBack Then
' Use the Add and Remove methods to programmatically
' remove the Appendix C node and replace it with a new
' node.
LinksTreeView.Nodes.Remove(LinksTreeView.Nodes(3))
LinksTreeView.Nodes.Add(New TreeNode("New Appendix C"))
' Use the AddAt and RemoveAt methods to programmatically
' remove the Chapter One node and replace it with a new node.
LinksTreeView.Nodes(0).ChildNodes.RemoveAt(0)
LinksTreeView.Nodes(0).ChildNodes.AddAt(0, New TreeNode("New Chapter One"))
' Use the Clear method to remove all the child nodes of the
' Chapter Two node.
LinksTreeView.Nodes(0).ChildNodes(1).ChildNodes.Clear()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection 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="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>
</form>
</body>
</html>
Комментарии
Класс TreeNodeCollection используется для хранения коллекции TreeNode объектов в элементе управления и управления ими TreeView . Элемент TreeView управления использует TreeNodeCollection класс в двух его свойствах. Он хранит корневые узлы в свойстве Nodes и выбранные узлы в свойстве CheckedNodes . Коллекция TreeNodeCollection также используется для ChildNodes хранения дочерних узлов (если таковые есть).
Класс TreeNodeCollection поддерживает несколько способов доступа к элементам в коллекции:
Item[] Используйте индексатор для получения TreeNode объекта непосредственно по определенному отсчитываемой от нуля индексу.
GetEnumerator Используйте метод для создания перечислителя, который можно использовать для итерации по коллекции.
Используйте
foreach
(C#) илиFor Each
(Visual Basic) для итерации по коллекции.CopyTo Используйте метод для копирования содержимого коллекции в Array объект.
Вы можете программно управлять им TreeNodeCollection , добавляя и удаляя TreeNode объекты. Чтобы добавить узлы в коллекцию, используйте Add или AddAt метод. Чтобы удалить узлы из коллекции, используйте RemoveRemoveAtметод или Clear ,.
Примечание
TreeView Когда элемент управления привязан к источнику данных, Nodes коллекции ChildNodes заполняются автоматически при каждой привязке. Все изменения в коллекциях между привязками будут потеряны. Чтобы сохранить эти изменения, обновите источник данных или вручную перестройте коллекцию при каждой привязке.
Содержит TreeNodeCollection свойства и методы, позволяющие получать сведения о самой коллекции. Чтобы узнать, сколько элементов находится в коллекции, используйте Count свойство. Если вы хотите определить, содержит ли коллекция определенный TreeNode объект, используйте Contains метод. Чтобы получить индекс TreeNode объекта в коллекции, используйте IndexOf метод.
Конструкторы
TreeNodeCollection() |
Инициализирует новый экземпляр класса TreeNodeCollection со значениями по умолчанию. |
TreeNodeCollection(TreeNode) |
Инициализирует новый экземпляр класса TreeNodeCollection, используя указанный родительский узел (или владелец). |
Свойства
Count |
Возвращает количество элементов в объекте TreeNodeCollection. |
IsSynchronized |
Возвращает значение, показывающее, является ли доступ к коллекции TreeNodeCollection синхронизированным (потокобезопасным). |
Item[Int32] |
Возвращает TreeNode, расположенный в объекте TreeNodeCollection по указанному индексу. |
SyncRoot |
Возвращает объект, который позволяет синхронизировать доступ к объекту TreeNodeCollection. |
Методы
Add(TreeNode) |
Добавляет указанный объект TreeNode в конец объекта TreeNodeCollection. |
AddAt(Int32, TreeNode) |
Вставляет указанный объект TreeNode в объект TreeNodeCollection по указанному индексу. |
Clear() |
Опустошает объект TreeNodeCollection. |
Contains(TreeNode) |
Определяет, присутствует ли в коллекции указанный объект TreeNode. |
CopyTo(TreeNode[], Int32) |
Копирует все элементы из объекта TreeNodeCollection в совместимый одномерный массив объектов TreeNode, начиная с указанного индекса в массиве назначения. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetEnumerator() |
Возвращает перечислитель, который может использоваться для итерации по объекту TreeNodeCollection. |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
IndexOf(TreeNode) |
Определяет индекс указанного объекта TreeNode. |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
Remove(TreeNode) |
Удаляет указанный объект TreeNode из объекта TreeNodeCollection. |
RemoveAt(Int32) |
Удаляет объект TreeNode по указанному индексу из объекта TreeNodeCollection. |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
Явные реализации интерфейса
ICollection.CopyTo(Array, Int32) |
Копирует все элементы из объекта TreeNodeCollection в совместимый одномерный массив Array, начиная с указанного индекса в массиве назначения. |
IStateManager.IsTrackingViewState |
Получает значение, указывающее сохраняет ли объект TreeNodeCollection изменения в данных о состоянии представления. |
IStateManager.LoadViewState(Object) |
Загружает сохраненное ранее состояние представления объекта TreeNodeCollection. |
IStateManager.SaveViewState() |
Сохраняет изменения состояния представления в Object. |
IStateManager.TrackViewState() |
Указывает TreeNodeCollection на необходимость отслеживания изменений в его состоянии представления. |
Методы расширения
Cast<TResult>(IEnumerable) |
Приводит элементы объекта IEnumerable к заданному типу. |
OfType<TResult>(IEnumerable) |
Выполняет фильтрацию элементов объекта IEnumerable по заданному типу. |
AsParallel(IEnumerable) |
Позволяет осуществлять параллельный запрос. |
AsQueryable(IEnumerable) |
Преобразовывает коллекцию IEnumerable в объект IQueryable. |