TreeView Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Отображает иерархические данные, такие как оглавление, в структуре дерева.
public ref class TreeView : System::Web::UI::WebControls::HierarchicalDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IPostBackDataHandler, System::Web::UI::IPostBackEventHandler
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class TreeView : System.Web.UI.WebControls.HierarchicalDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IPostBackDataHandler, System.Web.UI.IPostBackEventHandler
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type TreeView = class
inherit HierarchicalDataBoundControl
interface IPostBackEventHandler
interface IPostBackDataHandler
interface ICallbackEventHandler
Public Class TreeView
Inherits HierarchicalDataBoundControl
Implements ICallbackEventHandler, IPostBackDataHandler, IPostBackEventHandler
- Наследование
- Атрибуты
- Реализации
Примеры
В этом разделе содержатся семь примеров кода:
В первом примере кода показано, как настроить кадры для второго примера кода.
Второй пример кода демонстрирует использование декларативного синтаксиса для отображения статических данных в элементе TreeView управления.
В третьем примере кода показано, как привязать TreeView элемент управления к источнику данных XML.
Четвертый пример кода содержит пример XML-данных для третьего примера кода.
В пятом примере кода показано, как использовать TreeView элемент управления для навигации по сайту, привязав его к элементу SiteMapDataSource управления.
В шестом примере кода приведены примеры данных карты сайта для пятого примера кода.
В седьмом примере кода показано, как заполнить узлы в TreeView элементе управления от клиента.
В следующем примере кода показано, как настроить кадры для следующего примера кода.
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramecs.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TreeView Frameset Example</title>
</head>
<frameset cols="30%, 75%">
<frame title="MenuFrame" name="Menu" src="TreeViewFramevb.aspx"/>
<frame title="ContentFrame" name="Content" src="Home.aspx"/>
</frameset>
</html>
В следующем примере кода показано, как использовать декларативный синтаксис для отображения статических данных в элементе TreeView управления. Этот пример используется в наборе кадров предыдущего примера для отображения оглавления.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Declarative Syntax Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Declarative Syntax Example</h3>
<asp:TreeView id="SampleTreeView"
runat="server">
<Nodes>
<asp:TreeNode Value="Home"
NavigateUrl="Home.aspx"
Text="Home"
Target="Content"
Expanded="True">
<asp:TreeNode Value="Page 1"
NavigateUrl="Page1.aspx"
Text="Page1"
Target="Content">
<asp:TreeNode Value="Section 1"
NavigateUrl="Section1.aspx"
Text="Section 1"
Target="Content"/>
</asp:TreeNode>
<asp:TreeNode Value="Page 2"
NavigateUrl="Page2.aspx"
Text="Page 2"
Target="Content">
</asp:TreeNode>
</asp:TreeNode>
</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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView Declarative Syntax Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView Declarative Syntax Example</h3>
<asp:TreeView id="SampleTreeView"
runat="server">
<Nodes>
<asp:TreeNode Value="Home"
NavigateUrl="Home.aspx"
Text="Home"
Target="Content"
Expanded="True">
<asp:TreeNode Value="Page 1"
NavigateUrl="Page1.aspx"
Text="Page1"
Target="Content">
<asp:TreeNode Value="Section 1"
NavigateUrl="Section1.aspx"
Text="Section 1"
Target="Content"/>
</asp:TreeNode>
<asp:TreeNode Value="Page 2"
NavigateUrl="Page2.aspx"
Text="Page 2"
Target="Content">
</asp:TreeNode>
</asp:TreeNode>
</Nodes>
</asp:TreeView>
</form>
</body>
</html>
В следующем примере кода показано, как привязать TreeView элемент управления к источнику данных XML. Для правильной работы этого примера необходимо скопировать примеры 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView XML Data Binding Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView XML Data Binding Example</h3>
<asp:TreeView id="BookTreeView"
DataSourceID="BookXmlDataSource"
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 элемент управления для навигации сайта, привязав его к элементу SiteMapDataSource управления. Для правильной работы этого примера необходимо скопировать примеры данных карты сайта, предоставленные после этого примера кода, в файл с именем Web.sitemap.
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView AutoGenerateBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView AutoGenerateBindings Example</h3>
<!-- Set the AutoGenerateBindings property -->
<!-- to false declaratively to allow for -->
<!-- the user-defined Bindings collection. -->
<asp:TreeView id="SiteTreeView"
DataSourceID="SiteMapSource"
AutoGenerateDataBindings="False"
runat="server">
<DataBindings>
<asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
</DataBindings>
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapSource" 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">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView AutoGenerateBindings Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView AutoGenerateBindings Example</h3>
<!-- Set the AutoGenerateBindings property -->
<!-- to false declaratively to allow for -->
<!-- the user-defined Bindings collection. -->
<asp:TreeView id="SiteTreeView"
DataSourceID="SiteMapSource"
AutoGenerateDataBindings="False"
runat="server">
<DataBindings>
<asp:TreeNodeBinding TextField="title" NavigateUrlField="url"/>
</DataBindings>
</asp:TreeView>
<asp:SiteMapDataSource ID="SiteMapSource" runat="server"/>
</form>
</body>
</html>
В следующем примере кода приведены примеры данных карты сайта для предыдущего примера кода.
<siteMap>
<siteMapNode title="Home" description="Home" url="default.aspx">
<siteMapNode title="Products" description="Products" url="Products.aspx">
<siteMapNode title="Computers" url="Computers.aspx"/>
<siteMapNode title="Accessories" url="Accessories.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>
В следующем примере кода показано, как заполнить узлы в элементе TreeView управления от клиента. Если включено заполнение узлов на стороне клиента, узлы заполняются динамически на клиенте без необходимости отправлять обратно на сервер.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void PopulateNode(Object sender, TreeNodeEventArgs e)
{
// Call the appropriate method to populate a node at a particular level.
switch(e.Node.Depth)
{
case 0:
// Populate the first-level nodes.
PopulateCategories(e.Node);
break;
case 1:
// Populate the second-level nodes.
PopulateProducts(e.Node);
break;
default:
// Do nothing.
break;
}
}
void PopulateCategories(TreeNode node)
{
// Query for the product categories. These are the values
// for the second-level nodes.
DataSet ResultSet = RunQuery("Select CategoryID, CategoryName From Categories");
// Create the second-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node. Notice that the CategoryId is stored in the Value property
// of the node. This will make querying for items in a specific category easier when
// the third-level nodes are created.
TreeNode newNode = new TreeNode();
newNode.Text = row["CategoryName"].ToString();
newNode.Value = row["CategoryID"].ToString();
// Set the PopulateOnDemand property to true so that the child nodes can be
// dynamically populated.
newNode.PopulateOnDemand = true;
// Set additional properties for the node.
newNode.SelectAction = TreeNodeSelectAction.Expand;
// Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(newNode);
}
}
}
void PopulateProducts(TreeNode node)
{
// Query for the products of the current category. These are the values
// for the third-level nodes.
DataSet ResultSet = RunQuery("Select ProductName From Products Where CategoryID=" + node.Value);
// Create the third-level nodes.
if(ResultSet.Tables.Count > 0)
{
// Iterate through and create a new node for each row in the query results.
// Notice that the query results are stored in the table of the DataSet.
foreach (DataRow row in ResultSet.Tables[0].Rows)
{
// Create the new node.
TreeNode NewNode = new TreeNode(row["ProductName"].ToString());
// Set the PopulateOnDemand property to false, because these are leaf nodes and
// do not need to be populated.
NewNode.PopulateOnDemand = false;
// Set additional properties for the node.
NewNode.SelectAction = TreeNodeSelectAction.None;
// Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(NewNode);
}
}
}
DataSet RunQuery(String QueryString)
{
// Declare the connection string. This example uses Microsoft SQL Server
// and connects to the Northwind sample database.
String ConnectionString = "server=localhost;database=NorthWind;Integrated Security=SSPI";
SqlConnection DBConnection = new SqlConnection(ConnectionString);
SqlDataAdapter DBAdapter;
DataSet ResultsDataSet = new DataSet();
try
{
// Run the query and create a DataSet.
DBAdapter = new SqlDataAdapter(QueryString, DBConnection);
DBAdapter.Fill(ResultsDataSet);
// Close the database connection.
DBConnection.Close();
}
catch(Exception ex)
{
// Close the database connection if it is still open.
if(DBConnection.State == ConnectionState.Open)
{
DBConnection.Close();
}
Message.Text = "Unable to connect to the database.";
}
return ResultsDataSet;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PopulateNodesFromClient Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PopulateNodesFromClient Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
EnableClientScript="true"
PopulateNodesFromClient="true"
OnTreeNodePopulate="PopulateNode"
runat="server">
<Nodes>
<asp:TreeNode Text="Inventory"
SelectAction="Expand"
PopulateOnDemand="true"/>
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub PopulateNode(ByVal sender As Object, ByVal e As TreeNodeEventArgs)
' Call the appropriate method to populate a node at a particular level.
Select Case e.Node.Depth
Case 0
' Populate the first-level nodes.
PopulateCategories(e.Node)
Case 1
' Populate the second-level nodes.
PopulateProducts(e.Node)
Case Else
' Do nothing.
End Select
End Sub
Sub PopulateCategories(ByVal node As TreeNode)
' Query for the product categories. These are the values
' for the second-level nodes.
Dim ResultSet As DataSet = RunQuery("Select CategoryID, CategoryName From Categories")
' Create the second-level nodes.
If ResultSet.Tables.Count > 0 Then
' Iterate through and create a new node for each row in the query results.
' Notice that the query results are stored in the table of the DataSet.
Dim row As DataRow
For Each row In ResultSet.Tables(0).Rows
' Create the new node. Notice that the CategoryId is stored in the Value property
' of the node. This will make querying for items in a specific category easier when
' the third-level nodes are created.
Dim newNode As TreeNode = New TreeNode()
Newnode.Text = row("CategoryName").ToString()
Newnode.Value = row("CategoryID").ToString()
' Set the PopulateOnDemand property to true so that the child nodes can be
' dynamically populated.
newNode.PopulateOnDemand = True
' Set additional properties for the node.
newNode.SelectAction = TreeNodeSelectAction.Expand
' Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(newNode)
Next
End If
End Sub
Sub PopulateProducts(ByVal node As TreeNode)
' Query for the products of the current category. These are the values
' for the third-level nodes.
Dim ResultSet As DataSet = RunQuery("Select ProductName From Products Where CategoryID=" & node.Value)
' Create the third-level nodes.
If ResultSet.Tables.Count > 0 Then
' Iterate through and create a new node for each row in the query results.
' Notice that the query results are stored in the table of the DataSet.
Dim row As DataRow
For Each row In ResultSet.Tables(0).Rows
' Create the new node.
Dim NewNode As TreeNode = New TreeNode(row("ProductName").ToString())
' Set the PopulateOnDemand property to false, because these are leaf nodes and
' do not need to be populated.
NewNode.PopulateOnDemand = False
' Set additional properties for the node.
NewNode.SelectAction = TreeNodeSelectAction.None
' Add the new node to the ChildNodes collection of the parent node.
node.ChildNodes.Add(NewNode)
Next
End If
End Sub
Function RunQuery(ByVal QueryString As String) As DataSet
' Declare the connection string. This example uses Microsoft SQL Server
' and connects to the Northwind sample database.
Dim ConnectionString As String = "server=localhost;database=NorthWind;Integrated Security=SSPI"
Dim DBConnection As SqlConnection = New SqlConnection(ConnectionString)
Dim DBAdapter As SqlDataAdapter
Dim ResultsDataSet As DataSet = New DataSet
Try
' Run the query and create a DataSet.
DBAdapter = New SqlDataAdapter(QueryString, DBConnection)
DBAdapter.Fill(ResultsDataSet)
' Close the database connection.
DBConnection.Close()
Catch ex As Exception
' Close the database connection if it is still open.
If DBConnection.State = ConnectionState.Open Then
DBConnection.Close()
End If
Message.Text = "Unable to connect to the database."
End Try
Return ResultsDataSet
End Function
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeView PopulateNodesFromClient Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeView PopulateNodesFromClient Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
EnableClientScript="true"
PopulateNodesFromClient="true"
OnTreeNodePopulate="PopulateNode"
runat="server">
<Nodes>
<asp:TreeNode Text="Inventory"
SelectAction="Expand"
PopulateOnDemand="true"/>
</Nodes>
</asp:TreeView>
<br /><br />
<asp:Label id="Message" runat="server"/>
</form>
</body>
</html>
Комментарии
В этом разделе:
Введение
Элемент TreeView управления используется для отображения иерархических данных, таких как оглавление или каталог файлов, в структуре дерева и поддерживает следующие функции:
Привязка данных, позволяющая узлам элемента управления быть привязанными к XML, табличным или реляционным данным.
Навигация по сайту через интеграцию с элементом SiteMapDataSource управления.
Текст узла, который можно отобразить как обычный текст или гиперссылки.
Программный доступ к объектной TreeView модели для создания деревьев, заполнения узлов, задания свойств и т. д. динамически.
Количество узлов на стороне клиента (в поддерживаемых браузерах).
Возможность отображения флажка рядом с каждым узлом.
Настраиваемый внешний вид с помощью тем, определяемых пользователем изображений и стилей.
Замечание
Элемент TreeView управления предназначен для использования внутри UpdatePanel элемента управления только в том случае, если EnableClientScript задано значение
true. UpdatePanel элементы управления используются для обновления выбранных регионов страницы вместо обновления всей страницы с обратной отправкой. Дополнительные сведения см. в разделе "Обзор элемента управления UpdatePanel" и обзорPartial-Page отрисовки.
Nodes
Элемент TreeView управления состоит из узлов. Каждая запись в дереве называется узлом и представлена TreeNode объектом. Типы узлов определяются следующим образом:
Узел, содержащий другие узлы, называется родительским узлом.
Узел, содержащийся другим узлом, называется дочерним.
Узел без дочерних элементов называется конечным узлом.
Узел, который не содержится любым другим узлом, но предком для всех остальных узлов является корневым узлом.
Узел может быть как родительским, так и дочерним, но корневые, родительские и конечные узлы являются взаимоисключающими. Несколько визуальных и поведенческих свойств узлов определяются тем, является ли узел корневым, дочерним или конечным.
Хотя типичная структура дерева имеет только один корневой узел, элемент TreeView управления позволяет добавлять несколько корневых узлов в структуру дерева. Это полезно, если вы хотите отображать списки элементов без отображения одного корневого узла, как в списке категорий продуктов.
Каждый узел имеет Text свойство и Value свойство. Значение Text свойства отображается в TreeViewобъекте, а Value свойство используется для хранения дополнительных данных об узле, таких как данные, передаваемые в событие обратной передачи, связанное с узлом.
Узел может находиться в одном из двух режимов: режим выбора и режим навигации. По умолчанию узел находится в режиме выбора. Чтобы поместить узел в режим навигации, задайте NavigateUrl для узла значение, отличное от пустой строки (""). Чтобы поместить узел в режим выбора, задайте NavigateUrl для узла значение пустой строки ("").
Замечание
Некоторые браузеры Интернета имеют ограничение, которое может повлиять на производительность TreeView элемента управления. Например, Microsoft Internet Explorer 6.0 имеет ограничение НА URL-адрес в 2067 символов, которые он публикует. Если число символов в URL-адресе узла больше этого числа, расширение этого узла завершится ошибкой, и исключение не возникает.
Статические данные
Простейшая модель TreeView данных элемента управления — статические данные. Чтобы отобразить статические данные с помощью декларативного синтаксиса, сначала вложенное открытие и закрытие тегов между открывающим и закрывающим <Nodes> тегами TreeView элемента управления. Затем создайте структуру дерева путем вложения <asp:TreeNode> элементов между открывающим и закрывающим <Nodes> тегами. Каждый <asp:TreeNode> элемент представляет узел в дереве и сопоставляется с TreeNode объектом. Свойства каждого узла можно задать, задав атрибуты его <asp:TreeNode> элемента. Чтобы создать дочерние узлы, вложены дополнительные <asp:TreeNode> элементы между открывающим и закрывающим <asp:TreeNode> тегами родительского узла.
Привязка к данным
Элемент TreeView управления также может быть привязан к данным. Для привязки TreeView элемента управления к соответствующему типу источника данных можно использовать один из двух методов:
Элемент TreeView управления может использовать любой XmlDataSource элемент управления источником данных, реализующий IHierarchicalDataSource интерфейс, например элемент управления или SiteMapDataSource элемент управления. Чтобы выполнить привязку к элементу управления источником данных, задайте DataSourceID для свойства TreeView элемента управления ID значение элемента управления источниками данных. Элемент TreeView управления автоматически привязывается к указанному элементу управления источниками данных. Это предпочтительный метод для привязки к данным.
Элемент TreeView управления также может быть привязан к объекту XmlDocument или DataSet объекту с отношениями. Чтобы привязаться к одному из этих источников данных, задайте DataSource свойство TreeView элемента управления источнику данных, а затем вызовите DataBind метод.
При привязке к источнику данных, где каждый элемент данных содержит несколько свойств (например, XML-элемент с несколькими атрибутами), узел отображает значение, возвращаемое методом ToString элемента данных, по умолчанию. В случае XML-элемента узел отображает имя элемента, которое показывает базовую структуру дерева, но не очень полезно в противном случае. Узел можно привязать к определенному свойству элемента данных, указав привязки узлов дерева с помощью DataBindings коллекции. Коллекция DataBindings содержит TreeNodeBinding объекты, определяющие связь между элементом данных и узлом, к которому она привязана. Вы можете указать критерии привязки и свойства элемента данных, отображаемые на узле. Дополнительные сведения о привязках узлов дерева см. в статье TreeNodeBinding.
Это важно
Злоумышленник может создать запрос обратного TreeView вызова и получить данные для узлов элемента управления, который разработчик страницы не отображает. Поэтому безопасность данных должна быть реализована источником данных. Не используйте MaxDataBindDepth свойство для скрытия данных.
Динамическое заполнение узлов
Иногда не рекомендуется статически определять структуру дерева, так как источник данных возвращает слишком много данных или так как отображаемые данные зависят от информации, получаемой во время выполнения. Из-за этого элемент TreeView управления поддерживает динамическое заполнение узлов.
PopulateOnDemand Если для узла задано trueсвойство, этот узел заполняется во время выполнения при развертывании узла. Чтобы динамически заполнять узел, необходимо определить метод обработки событий, содержащий логику для заполнения узла для TreeNodePopulate события.
Браузеры, поддерживающие скрипты обратного вызова, также могут воспользоваться преимуществами заполнения узлов на стороне клиента. (Это включает Internet Explorer 5.5 и более поздние версии и некоторые другие браузеры.) Заполнение узла на стороне клиента позволяет TreeView элементу управления заполнять узел с помощью клиентского скрипта при развертывании узла, не требуя кругового пути к серверу. Дополнительные сведения о заполнения узлов на стороне клиента см. в разделе PopulateNodesFromClient.
Настройка пользовательского интерфейса
Существует множество способов настройки внешнего вида TreeView элемента управления. Во-первых, можно указать другой стиль (например, размер шрифта и цвет) для каждого типа узлов.
Если вы используете каскадные таблицы стилей (CSS) для настройки внешнего вида элемента управления, используйте встроенные стили или отдельный CSS-файл, но не оба. Использование встроенных стилей и отдельного CSS-файла может привести к непредвиденным результатам. Дополнительные сведения об использовании таблиц стилей с элементами управления см. в разделе "Элементы управления веб-сервера" и "Стили CSS".
В следующей таблице перечислены доступные стили узлов.
| Свойство стиля узла | Описание |
|---|---|
| HoverNodeStyle | Параметры стиля узла при расположении указателя мыши над ним. |
| LeafNodeStyle | Параметры стиля для конечных узлов. |
| NodeStyle | Параметры стиля по умолчанию для узла. |
| ParentNodeStyle | Параметры стиля для родительских узлов. |
| RootNodeStyle | Параметры стиля для корневого узла. |
| SelectedNodeStyle | Параметры стиля для выбранного узла. |
Вы также можете управлять стилем узлов с определенной глубиной в дереве с помощью LevelStyles коллекции. Первый стиль в коллекции соответствует стилю узлов на первом уровне дерева. Второй стиль в коллекции соответствует стилю узлов на втором уровне дерева и т. д. Это чаще всего используется для создания меню навигации в стиле содержимого, где узлы определенной глубины должны иметь одинаковый внешний вид, независимо от того, имеют ли они дочерние узлы.
Замечание
Если стиль определен для определенного уровня глубины с помощью LevelStyles коллекции, этот стиль переопределяет любые параметры стиля корневого, родительского или конечного узла для узлов на этой глубине.
Другим способом изменения внешнего вида элемента управления является настройка изображений, отображаемых в элементе TreeView управления. Вы можете указать собственный настраиваемый набор изображений для разных частей элемента управления, задав свойства, показанные в следующей таблице.
| Свойство Image | Описание |
|---|---|
| CollapseImageUrl | URL-адрес изображения, отображаемого для индикатора свертывого узла. Обычно это знак минуса (-). |
| ExpandImageUrl | URL-адрес изображения, отображаемого для индикатора расширяемого узла. Обычно это знак плюса (+). |
| LineImagesFolder | URL-адрес папки, содержащей образы строк, используемые для подключения родительских узлов к дочерним узлам. Свойство ShowLines также должно иметь true значение, чтобы это свойство могло иметь эффект. |
| NoExpandImageUrl | URL-адрес изображения, отображаемого для индикатора неразверяемого узла. |
Замечание
Вам не нужно настраивать каждое свойство изображения. Если свойство изображения не задано явным образом, используется встроенный образ по умолчанию.
Элемент TreeView управления также позволяет отобразить флажок рядом с узлом.
ShowCheckBoxes Если для свойства задано значение, отличное TreeNodeTypes.Noneот значения, флажки отображаются рядом с указанными типами узлов.
Замечание
Свойство ShowCheckBoxes может быть задано побитовой комбинацией значений TreeNodeTypes элементов перечисления.
При каждом публикации страницы на сервере CheckedNodes коллекция автоматически заполняется выбранными узлами. При отображении флажков можно использовать TreeNodeCheckChanged событие для выполнения пользовательской подпрограммы всякий раз, когда состояние флажка изменяется между записями на сервере.
События
Элемент TreeView управления предоставляет несколько событий, которые можно программовать. Это позволяет запускать пользовательскую подпрограмму всякий раз, когда происходит событие. В следующей таблице перечислены события, поддерживаемые элементом TreeView управления.
| Event | Описание |
|---|---|
| TreeNodeCheckChanged | Происходит, когда флажки TreeView элемента управления изменяют состояние между записями на сервере. |
| SelectedNodeChanged | Происходит при выборе узла в элементе TreeView управления. |
| TreeNodeExpanded | Происходит при развертывании узла в элементе TreeView управления. |
| TreeNodeCollapsed | Происходит при сворачивании TreeView узла в элементе управления. |
| TreeNodePopulate | Происходит, когда узел со своим PopulateOnDemand набором true свойств развертывается в элементе TreeView управления. |
| TreeNodeDataBound | Происходит, когда элемент данных привязан к узлу в элементе TreeView управления. |
Прокрутка
Элемент TreeView управления не имеет встроенной прокрутки. Чтобы добавить прокрутку, поместите TreeView элемент управления в Panel элемент управления и добавьте полосы прокрутки в Panel элемент управления. Дополнительные сведения см. в разделе "Обзор управления веб-сервером панели".
Доступность
Разметка, отображаемая по умолчанию для этого элемента управления, может не соответствовать стандартам специальных возможностей. Дополнительные сведения о поддержке специальных возможностей для этого элемента управления см. в ASP.NET элементах управления и специальных возможностях.
Декларативный синтаксис
<asp:TreeView
AccessKey="string"
AutoGenerateDataBindings="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CollapseImageToolTip="string"
CollapseImageUrl="uri"
CssClass="string"
DataSource="string"
DataSourceID="string"
EnableClientScript="True|False"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
ExpandDepth="string|FullyExpand|0|1|2|3|4|5|6|7|8|9|10|11|12|13|
14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30"
ExpandImageToolTip="string"
ExpandImageUrl="uri"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
ImageSet="Custom|XPFileExplorer|Msdn|WindowsHelp|Simple|Simple2|
BulletedList|BulletedList2|BulletedList3|BulletedList4|
Arrows|News|Contacts|Inbox|Events|Faq"
LineImagesFolder="string"
MaxDataBindDepth="integer"
NodeIndent="integer"
NodeWrap="True|False"
NoExpandImageUrl="uri"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedNodeChanged="SelectedNodeChanged event handler"
OnTreeNodeCheckChanged="TreeNodeCheckChanged event handler"
OnTreeNodeCollapsed="TreeNodeCollapsed event handler"
OnTreeNodeDataBound="TreeNodeDataBound event handler"
OnTreeNodeExpanded="TreeNodeExpanded event handler"
OnTreeNodePopulate="TreeNodePopulate event handler"
OnUnload="Unload event handler"
PathSeparator="string"
PopulateNodesFromClient="True|False"
runat="server"
ShowCheckBoxes="None|Root|Parent|Leaf|All"
ShowExpandCollapse="True|False"
ShowLines="True|False"
SkinID="string"
SkipLinkText="string"
Style="string"
TabIndex="integer"
Target="string"
ToolTip="string"
Visible="True|False"
Width="size"
>
<DataBindings>
<asp:TreeNodeBinding
DataMember="string"
Depth="integer"
FormatString="string"
ImageToolTip="string"
ImageToolTipField="string"
ImageUrl="uri"
ImageUrlField="string"
NavigateUrl="uri"
NavigateUrlField="string"
PopulateOnDemand="True|False"
SelectAction="Select|Expand|SelectExpand|None"
ShowCheckBox="string"
Target="string"
TargetField="string"
Text="string"
TextField="string"
ToolTip="string"
ToolTipField="string"
Value="string"
ValueField="string"
/>
</DataBindings>
<HoverNodeStyle />
<LeafNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<LevelStyles>
<asp:TreeNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|
Double|Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|
X-Small|Small|Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
</LevelStyles>
<Nodes>
<asp:TreeNode
Checked="True|False"
Expanded="string"
ImageToolTip="string"
ImageUrl="uri"
NavigateUrl="uri"
PopulateOnDemand="True|False"
SelectAction="Select|Expand|SelectExpand|None"
Selected="True|False"
ShowCheckBox="string"
Target="string"
Text="string"
ToolTip="string"
Value="string"
>
</asp:TreeNode>
</Nodes>
<NodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<ParentNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<RootNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
<SelectedNodeStyle
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|
Groove|Ridge|Inset|Outset"
BorderWidth="size"
ChildNodesPadding="size"
CssClass="string"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|
Medium|Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
HorizontalPadding="size"
ImageUrl="uri"
NodeSpacing="size"
OnDisposed="Disposed event handler"
VerticalPadding="size"
Width="size"
/>
</asp:TreeView>
Конструкторы
| Имя | Описание |
|---|---|
| TreeView() |
Инициализирует новый экземпляр класса TreeView. |
Свойства
| Имя | Описание |
|---|---|
| AccessKey |
Возвращает или задает ключ доступа, позволяющий быстро перейти к элементу управления веб-сервера. (Унаследовано от WebControl) |
| Adapter |
Возвращает адаптер, зависящий от браузера, для элемента управления. (Унаследовано от Control) |
| AppRelativeTemplateSourceDirectory |
Возвращает или задает относительный к приложению виртуальный каталог Page объекта или UserControl объекта, содержащего этот элемент управления. (Унаследовано от Control) |
| Attributes |
Возвращает коллекцию произвольных атрибутов (только для отрисовки), которые не соответствуют свойствам элемента управления. (Унаследовано от WebControl) |
| AutoGenerateDataBindings |
Возвращает или задает значение, указывающее, автоматически ли TreeView элемент управления создает привязки узлов дерева. |
| BackColor |
Возвращает или задает цвет фона элемента управления веб-сервера. (Унаследовано от WebControl) |
| BindingContainer |
Возвращает элемент управления, содержащий привязку данных этого элемента управления. (Унаследовано от Control) |
| BorderColor |
Возвращает или задает цвет границы веб-элемента управления. (Унаследовано от WebControl) |
| BorderStyle |
Возвращает или задает стиль границы элемента управления веб-сервера. (Унаследовано от WebControl) |
| BorderWidth |
Возвращает или задает ширину границы элемента управления веб-сервера. (Унаследовано от WebControl) |
| CheckedNodes |
Возвращает коллекцию TreeNode объектов, представляющих узлы в элементе TreeView управления, отображающего выбранный флажок. |
| ChildControlsCreated |
Возвращает значение, указывающее, были ли созданы дочерние элементы управления сервера. (Унаследовано от Control) |
| ClientID |
Возвращает идентификатор элемента управления для разметки HTML, созданной ASP.NET. (Унаследовано от Control) |
| ClientIDMode |
Возвращает или задает алгоритм, используемый для создания значения ClientID свойства. (Унаследовано от Control) |
| ClientIDSeparator |
Возвращает значение символа, представляющее символ разделителя, используемый в свойстве ClientID . (Унаследовано от Control) |
| CollapseImageToolTip |
Возвращает или задает подсказку для изображения, отображаемого для индикатора свернутого узла. |
| CollapseImageUrl |
Возвращает или задает URL-адрес пользовательского изображения для индикатора свертывающего узла. |
| Context |
HttpContext Возвращает объект, связанный с серверным элементом управления для текущего веб-запроса. (Унаследовано от Control) |
| Controls |
ControlCollection Возвращает объект, представляющий дочерние элементы управления для указанного серверного элемента управления в иерархии пользовательского интерфейса. (Унаследовано от Control) |
| ControlStyle |
Возвращает стиль элемента управления веб-сервера. Это свойство используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| ControlStyleCreated |
Возвращает значение, указывающее, был ли Style объект создан для ControlStyle свойства. Это свойство в основном используется разработчиками элементов управления. (Унаследовано от WebControl) |
| CssClass |
Возвращает или задает класс каскадной таблицы стилей (CSS), отображаемый элементом управления веб-сервера на клиенте. (Унаследовано от WebControl) |
| DataBindings |
Возвращает коллекцию объектов, определяющих TreeNodeBinding связь между элементом данных и узлом, к которому она привязана. |
| DataItemContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataItemContainer. (Унаследовано от Control) |
| DataKeysContainer |
Возвращает ссылку на контейнер именования, если контейнер именования реализует IDataKeysControl. (Унаследовано от Control) |
| DataSource |
Возвращает или задает объект, из которого элемент управления с привязкой к данным извлекает список элементов данных. (Унаследовано от BaseDataBoundControl) |
| DataSourceID |
Возвращает или задает идентификатор элемента управления, из которого элемент управления с привязкой к данным получает список элементов данных. (Унаследовано от HierarchicalDataBoundControl) |
| DesignMode |
Возвращает значение, указывающее, используется ли элемент управления на поверхности конструктора. (Унаследовано от Control) |
| EnableClientScript |
Возвращает или задает значение, указывающее, отображает ли TreeView элемент управления клиентский скрипт для обработки событий расширения и сортировки. |
| Enabled |
Возвращает или задает значение, указывающее, включен ли элемент управления веб-сервера. (Унаследовано от WebControl) |
| EnableTheming |
Возвращает или задает значение, указывающее, применяются ли темы к этому элементу управления. (Унаследовано от WebControl) |
| EnableViewState |
Возвращает или задает значение, указывающее, сохраняет ли серверный элемент управления состояние представления и состояние представления всех дочерних элементов управления, содержащихся в нем, для запрашивающего клиента. (Унаследовано от Control) |
| Events |
Возвращает список делегатов обработчика событий для элемента управления. Это свойство доступно только для чтения. (Унаследовано от Control) |
| ExpandDepth |
Возвращает или задает количество уровней, развернутых при TreeView первом отображении элемента управления. |
| ExpandImageToolTip |
Возвращает или задает подсказку для изображения, отображаемого для индикатора расширяемого узла. |
| ExpandImageUrl |
Возвращает или задает URL-адрес пользовательского образа для индикатора расширяемого узла. |
| Font |
Возвращает свойства шрифта, связанные с элементом управления веб-сервера. (Унаследовано от WebControl) |
| ForeColor |
Возвращает или задает цвет переднего плана (обычно цвет текста) элемента управления веб-сервера. (Унаследовано от WebControl) |
| HasAttributes |
Возвращает значение, указывающее, имеет ли элемент управления набор атрибутов. (Унаследовано от WebControl) |
| HasChildViewState |
Получает значение, указывающее, имеют ли дочерние элементы управления текущего элемента управления серверным элементом управления какие-либо сохраненные параметры состояния представления. (Унаследовано от Control) |
| Height |
Возвращает или задает высоту элемента управления веб-сервера. (Унаследовано от WebControl) |
| HoverNodeStyle |
Получает ссылку на TreeNodeStyle объект, позволяющий задать внешний вид узла, когда указатель мыши расположен над ним. |
| ID |
Возвращает или задает программный идентификатор, назначенный элементу управления сервером. (Унаследовано от Control) |
| IdSeparator |
Возвращает символ, используемый для разделения идентификаторов элемента управления. (Унаследовано от Control) |
| ImageSet |
Возвращает или задает группу изображений, используемых для TreeView элемента управления. |
| Initialized |
Возвращает значение, указывающее, был ли инициализирован элемент управления с привязкой к данным. (Унаследовано от BaseDataBoundControl) |
| IsBoundUsingDataSourceID |
Возвращает значение, указывающее, задано ли DataSourceID свойство. (Унаследовано от BaseDataBoundControl) |
| IsChildControlStateCleared |
Возвращает значение, указывающее, имеют ли элементы управления, содержащиеся в этом элементе управления, состояние элемента управления. (Унаследовано от Control) |
| IsDataBindingAutomatic |
Возвращает значение, указывающее, является ли привязка данных автоматической. (Унаследовано от BaseDataBoundControl) |
| IsEnabled |
Возвращает значение, указывающее, включен ли элемент управления. (Унаследовано от WebControl) |
| IsTrackingViewState |
Возвращает значение, указывающее, сохраняется ли серверная система управления изменениями в состоянии представления. (Унаследовано от Control) |
| IsUsingModelBinders |
При реализации в производном классе получает значение, указывающее, использует ли элемент управления привязки модели. (Унаследовано от BaseDataBoundControl) |
| IsViewStateEnabled |
Возвращает значение, указывающее, включено ли состояние представления для этого элемента управления. (Унаследовано от Control) |
| LeafNodeStyle |
Получает ссылку на TreeNodeStyle объект, позволяющий задать внешний вид конечных узлов. |
| LevelStyles |
Возвращает коллекцию Style объектов, представляющих стили узлов на отдельных уровнях дерева. |
| LineImagesFolder |
Возвращает или задает путь к папке, содержащей образы строк, которые используются для подключения дочерних узлов к родительским узлам. |
| LoadViewStateByID |
Возвращает значение, указывающее, участвует ли элемент управления в загрузке состояния ID представления вместо индекса. (Унаследовано от Control) |
| MaxDataBindDepth |
Возвращает или задает максимальное количество уровней дерева для привязки к элементу TreeView управления. |
| NamingContainer |
Возвращает ссылку на контейнер именования серверного элемента управления, который создает уникальное пространство имен для различения между элементами управления сервера с ID одинаковым значением свойства. (Унаследовано от Control) |
| NodeIndent |
Возвращает или задает отступ (в пикселях) для дочерних TreeView узлов элемента управления. |
| Nodes |
Возвращает коллекцию TreeNode объектов, представляющих корневые узлы элемента TreeView управления. |
| NodeStyle |
Получает ссылку на TreeNodeStyle объект, позволяющий задать внешний вид узлов в элементе TreeView управления по умолчанию. |
| NodeWrap |
Возвращает или задает значение, указывающее, выполняется ли перенос текста в узел, когда узел выходит из пространства. |
| NoExpandImageUrl |
Возвращает или задает URL-адрес пользовательского образа для индикатора неразверяемого узла. |
| Page |
Возвращает ссылку на Page экземпляр, содержащий серверный элемент управления. (Унаследовано от Control) |
| Parent |
Возвращает ссылку на родительский элемент управления сервера в иерархии элементов управления страницами. (Унаследовано от Control) |
| ParentNodeStyle |
Получает ссылку на TreeNodeStyle объект, позволяющий задать внешний вид родительских узлов в элементе TreeView управления. |
| PathSeparator |
Возвращает или задает символ, используемый для разделителя значений узлов, указанных свойством ValuePath . |
| PopulateNodesFromClient |
Возвращает или задает значение, указывающее, заполняются ли данные узла по запросу от клиента. |
| RenderingCompatibility |
Возвращает значение, указывающее версию ASP.NET, с которым будет совместим отрисованный HTML. (Унаследовано от Control) |
| RequiresDataBinding |
Возвращает или задает значение, указывающее, следует ли DataBind() вызывать метод. (Унаследовано от BaseDataBoundControl) |
| RootNodeStyle |
Получает ссылку на TreeNodeStyle объект, позволяющий задать внешний вид корневого узла в элементе TreeView управления. |
| SelectedNode |
Возвращает объект, представляющий выбранный TreeNode узел в элементе TreeView управления. |
| SelectedNodeStyle |
TreeNodeStyle Возвращает объект, который управляет внешним видом выбранного узла в элементе TreeView управления. |
| SelectedValue |
Возвращает значение выбранного узла. |
| ShowCheckBoxes |
Возвращает или задает значение, указывающее, какие типы узлов будут отображать флажок в элементе TreeView управления. |
| ShowExpandCollapse |
Возвращает или задает значение, указывающее, отображаются ли индикаторы узла расширения. |
| ShowLines |
Возвращает или задает значение, указывающее, отображаются ли строки, соединяющие дочерние узлы с родительскими узлами. |
| Site |
Получает сведения о контейнере, на котором размещается текущий элемент управления при отрисовки на поверхности конструктора. (Унаследовано от Control) |
| SkinID |
Возвращает или задает кожу, применяемую к элементу управления. (Унаследовано от WebControl) |
| SkipLinkText |
Возвращает или задает значение, используемое для отображения альтернативного текста для средств чтения с экрана, чтобы пропустить содержимое элемента управления. |
| Style |
Возвращает коллекцию текстовых атрибутов, которые будут отображаться как атрибут стиля во внешнем теге элемента управления веб-сервера. (Унаследовано от WebControl) |
| SupportsDisabledAttribute |
Возвращает значение, указывающее, должен ли элемент управления задать |
| TabIndex |
Возвращает или задает индекс табуляции элемента управления веб-сервера. (Унаследовано от WebControl) |
| TagKey |
HtmlTextWriterTag Возвращает значение элемента TreeView управления. |
| TagName |
Возвращает имя тега элемента управления. Это свойство используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| Target |
Возвращает или задает целевое окно или кадр, в котором отображается содержимое веб-страницы, связанное с узлом. |
| TemplateControl |
Возвращает или задает ссылку на шаблон, содержащий этот элемент управления. (Унаследовано от Control) |
| TemplateSourceDirectory |
Возвращает виртуальный Page каталог или UserControl содержащий текущий серверный элемент управления. (Унаследовано от Control) |
| ToolTip |
Возвращает или задает текст, отображаемый при наведении указателя мыши на элемент управления веб-сервера. (Унаследовано от WebControl) |
| UniqueID |
Возвращает уникальный иерархический идентификатор для элемента управления сервером. (Унаследовано от Control) |
| ValidateRequestMode |
Возвращает или задает значение, указывающее, проверяет ли элемент управления входные данные клиента из браузера для потенциально опасных значений. (Унаследовано от Control) |
| ViewState |
Получает словарь сведений о состоянии, позволяющий сохранять и восстанавливать состояние представления серверного элемента управления в нескольких запросах на одну и ту же страницу. (Унаследовано от Control) |
| ViewStateIgnoresCase |
Возвращает значение, указывающее, является ли StateBag объект нечувствительным к регистру. (Унаследовано от Control) |
| ViewStateMode |
Возвращает или задает режим состояния представления этого элемента управления. (Унаследовано от Control) |
| Visible |
Возвращает или задает значение, указывающее, отображается ли элемент управления в виде пользовательского интерфейса на странице. |
| Width |
Возвращает или задает ширину элемента управления веб-сервера. (Унаследовано от WebControl) |
Методы
| Имя | Описание |
|---|---|
| AddAttributesToRender(HtmlTextWriter) |
Добавляет атрибуты и стили HTML, которые необходимо отобразить в указанный HtmlTextWriter элемент управления. |
| AddedControl(Control, Int32) |
Вызывается после добавления дочернего Control элемента управления в Controls коллекцию объекта. (Унаследовано от Control) |
| AddParsedSubObject(Object) |
Уведомляет серверный элемент управления о том, что элемент , XML или HTML, был проанализирован, и добавляет элемент в объект элемента управления ControlCollection сервера. (Унаследовано от Control) |
| ApplyStyle(Style) |
Копирует все небланковые элементы указанного стиля в веб-элемент управления, перезаписыв все существующие элементы стиля элемента управления. Этот метод в основном используется разработчиками элементов управления. (Унаследовано от WebControl) |
| ApplyStyleSheetSkin(Page) |
Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления. (Унаследовано от Control) |
| BeginRenderTracing(TextWriter, Object) |
Начинает трассировку данных отрисовки во время разработки. (Унаследовано от Control) |
| BuildProfileTree(String, Boolean) |
Собирает сведения о серверном элементе управления и передает его Trace свойству, которое будет отображаться при включении трассировки для страницы. (Унаследовано от Control) |
| ClearCachedClientID() |
Задает кэшированное ClientID значение |
| ClearChildControlState() |
Удаляет сведения о состоянии элемента управления для дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearChildState() |
Удаляет сведения о состоянии представления и состояния элемента управления для всех дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearChildViewState() |
Удаляет сведения о состоянии представления для всех дочерних элементов управления сервера. (Унаследовано от Control) |
| ClearEffectiveClientIDMode() |
ClientIDMode Задает свойство текущего экземпляра элемента управления и всех дочерних элементов управленияInherit. (Унаследовано от Control) |
| CollapseAll() |
Закрывает каждый узел в дереве. |
| ConfirmInitState() |
Задает инициализированное состояние элемента управления, привязанного к данным. (Унаследовано от BaseDataBoundControl) |
| CopyBaseAttributes(WebControl) |
Копирует свойства, не инкапсулированные Style объектом из указанного элемента управления веб-сервера, в элемент управления веб-сервера, из который вызывается этот метод. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| CreateChildControls() |
Вызывается платформой страницы ASP.NET, чтобы уведомить серверные элементы управления, использующие реализацию на основе композиции, чтобы создать все дочерние элементы управления, содержащиеся в подготовке к публикации обратной или отрисовки. (Унаследовано от Control) |
| CreateControlCollection() |
Создает коллекцию для хранения дочерних элементов управления. |
| CreateControlStyle() |
Создает объект стиля, который используется внутри WebControl класса для реализации всех свойств, связанных со стилем. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| CreateNode() |
Возвращает новый экземпляр TreeNode класса. Это CreateNode() вспомогательный метод. |
| DataBind() |
DataBind() Вызывает метод базового класса. |
| DataBind(Boolean) |
Привязывает источник данных к вызываемой серверной системе управления и всем его дочерним элементам управления с возможностью вызвать DataBinding событие. (Унаследовано от Control) |
| DataBindChildren() |
Привязывает источник данных к дочерним элементам управления сервера. (Унаследовано от Control) |
| Dispose() |
Позволяет элементу управления сервера выполнять окончательную очистку перед освобождением из памяти. (Унаследовано от Control) |
| EndRenderTracing(TextWriter, Object) |
Завершает трассировку времени разработки данных отрисовки. (Унаследовано от Control) |
| EnsureChildControls() |
Определяет, содержит ли серверный элемент управления дочерние элементы управления. Если это не так, он создает дочерние элементы управления. (Унаследовано от Control) |
| EnsureDataBound() |
Вызывает метод, DataBind() если DataSourceID свойство задано, и элемент управления с привязкой к данным помечается для обязательной привязки. (Унаследовано от BaseDataBoundControl) |
| EnsureID() |
Создает идентификатор для элементов управления, которым не назначен идентификатор. (Унаследовано от Control) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| ExpandAll() |
Открывает каждый узел в дереве. |
| FindControl(String, Int32) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| FindControl(String) |
Выполняет поиск текущего контейнера именования для элемента управления сервером с указанным |
| FindNode(String) |
Извлекает TreeNode объект в TreeView элементе управления по указанному пути значения. |
| Focus() |
Задает фокус ввода элементу управления. (Унаследовано от Control) |
| GetCallbackResult() |
Возвращает результат события обратного вызова, предназначенного для элемента управления. |
| GetData(String) |
Извлекает HierarchicalDataSourceView объект, который элемент управления с привязкой к данным использует для выполнения операций с данными. (Унаследовано от HierarchicalDataBoundControl) |
| GetDataSource() |
Извлекает, IHierarchicalDataSource с которым связан элемент управления с привязкой к данным, если таковой имеется. (Унаследовано от HierarchicalDataBoundControl) |
| GetDesignModeState() |
Возвращает данные во время разработки для элемента управления. (Унаследовано от Control) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetRouteUrl(Object) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
| GetRouteUrl(RouteValueDictionary) |
Возвращает URL-адрес, соответствующий набору параметров маршрута. (Унаследовано от Control) |
| GetRouteUrl(String, Object) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
| GetRouteUrl(String, RouteValueDictionary) |
Получает URL-адрес, соответствующий набору параметров маршрута и имени маршрута. (Унаследовано от Control) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetUniqueIDRelativeTo(Control) |
Возвращает префиксированную часть UniqueID свойства указанного элемента управления. (Унаследовано от Control) |
| HasControls() |
Определяет, содержит ли серверный элемент управления какие-либо дочерние элементы управления. (Унаследовано от Control) |
| HasEvents() |
Возвращает значение, указывающее, регистрируются ли события для элемента управления или любых дочерних элементов управления. (Унаследовано от Control) |
| IsLiteralContent() |
Определяет, содержит ли серверный элемент управления только литеральное содержимое. (Унаследовано от Control) |
| LoadControlState(Object) |
Восстанавливает сведения о состоянии элемента управления из предыдущего запроса страницы, сохраненного методом SaveControlState() . (Унаследовано от Control) |
| LoadPostData(String, NameValueCollection) |
Обрабатывает данные обратной передачи TreeView для элемента управления. |
| LoadViewState(Object) |
Загружает ранее сохраненное состояние TreeView представления элемента управления. |
| MapPathSecure(String) |
Извлекает физический путь, с которым сопоставляется виртуальный путь( абсолютный или относительный). (Унаследовано от Control) |
| MarkAsDataBound() |
Задает состояние элемента управления в состоянии представления как успешно привязанное к данным. (Унаследовано от HierarchicalDataBoundControl) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| MergeStyle(Style) |
Копирует все небланковые элементы указанного стиля в веб-элемент управления, но не перезаписывает существующие элементы стиля элемента управления. Этот метод используется главным образом разработчиками элементов управления. (Унаследовано от WebControl) |
| OnBubbleEvent(Object, EventArgs) |
Определяет, передается ли событие для элемента управления сервером пользовательского интерфейса страницы. (Унаследовано от Control) |
| OnDataBinding(EventArgs) |
Вызывает событие DataBinding. (Унаследовано от Control) |
| OnDataBound(EventArgs) |
Вызывает событие DataBound. (Унаследовано от BaseDataBoundControl) |
| OnDataPropertyChanged() |
Вызывается при изменении одного из свойств идентификации источника данных, чтобы повторно привязать элемент управления, привязанный к данным. (Унаследовано от HierarchicalDataBoundControl) |
| OnDataSourceChanged(Object, EventArgs) |
Вызывается, когда IHierarchicalDataSource экземпляр, с которым работает элемент управления с привязкой к данным, вызывает DataSourceChanged событие. (Унаследовано от HierarchicalDataBoundControl) |
| OnInit(EventArgs) |
Вызывает событие Init. |
| OnLoad(EventArgs) |
Load Обрабатывает событие. (Унаследовано от HierarchicalDataBoundControl) |
| OnPagePreLoad(Object, EventArgs) |
Задает инициализированное состояние элемента управления, привязанного к данным, перед загрузкой элемента управления. (Унаследовано от HierarchicalDataBoundControl) |
| OnPreRender(EventArgs) |
Вызывает событие PreRender. |
| OnSelectedNodeChanged(EventArgs) |
SelectedNodeChanged Вызывает событие TreeView элемента управления. |
| OnTreeNodeCheckChanged(TreeNodeEventArgs) |
TreeNodeCheckChanged Вызывает событие TreeView элемента управления. |
| OnTreeNodeCollapsed(TreeNodeEventArgs) |
TreeNodeCollapsed Вызывает событие TreeView элемента управления. |
| OnTreeNodeDataBound(TreeNodeEventArgs) |
TreeNodeDataBound Вызывает событие TreeView элемента управления. |
| OnTreeNodeExpanded(TreeNodeEventArgs) |
TreeNodeExpanded Вызывает событие TreeView элемента управления. |
| OnTreeNodePopulate(TreeNodeEventArgs) |
TreeNodePopulate Вызывает событие TreeView элемента управления. |
| OnUnload(EventArgs) |
Вызывает событие Unload. (Унаследовано от Control) |
| OpenFile(String) |
Возвращает используемый Stream для чтения файла. (Унаследовано от Control) |
| PerformDataBinding() |
Создает все узлы на основе источника данных. |
| PerformSelect() |
Извлекает данные из связанного источника данных. (Унаследовано от HierarchicalDataBoundControl) |
| RaiseBubbleEvent(Object, EventArgs) |
Назначает любые источники события и ее сведения родительскому элементу управления. (Унаследовано от Control) |
| RaiseCallbackEvent(String) |
Вызывает событие обратного вызова с помощью указанных аргументов. |
| RaisePostBackEvent(String) |
Позволяет элементу TreeView управления обрабатывать событие, возникающее при публикации формы на сервер. Этот RaisePostBackEvent(String) метод является вспомогательным методом для ICallbackEventHandler.RaiseCallbackEvent(String) метода. |
| RaisePostDataChangedEvent() |
TreeView Сигнализирует элементу управления, чтобы уведомить приложение ASP.NET о том, что состояние элемента управления изменилось. |
| RemovedControl(Control) |
Вызывается после удаления дочернего Control элемента управления из Controls коллекции объекта. (Унаследовано от Control) |
| Render(HtmlTextWriter) |
Отрисовывает элемент управления в указанный модуль записи HTML. (Унаследовано от WebControl) |
| RenderBeginTag(HtmlTextWriter) |
Отрисовывает HTML-тег открывающего элемента управления указанному средству записи. |
| RenderChildren(HtmlTextWriter) |
Выводит содержимое дочерних элементов управления сервера в предоставленный HtmlTextWriter объект, который записывает содержимое для отрисовки на клиенте. (Унаследовано от Control) |
| RenderContents(HtmlTextWriter) |
Отрисовывает узлы в элементе TreeView управления. |
| RenderControl(HtmlTextWriter, ControlAdapter) |
Выводит содержимое элемента управления сервером в предоставленный HtmlTextWriter объект с помощью предоставленного ControlAdapter объекта. (Унаследовано от Control) |
| RenderControl(HtmlTextWriter) |
Выводит содержимое сервера управления в предоставленный HtmlTextWriter объект и сохраняет сведения о трассировке элемента управления, если трассировка включена. (Унаследовано от Control) |
| RenderEndTag(HtmlTextWriter) |
Отрисовывает html-закрывающий тег элемента управления указанному средству записи. |
| ResolveAdapter() |
Возвращает адаптер управления, отвечающий за отрисовку указанного элемента управления. (Унаследовано от Control) |
| ResolveClientUrl(String) |
Получает URL-адрес, который может использоваться браузером. (Унаследовано от Control) |
| ResolveUrl(String) |
Преобразует URL-адрес в url-адрес, который можно использовать на запрашиваемом клиенте. (Унаследовано от Control) |
| SaveControlState() |
Сохраняет все изменения состояния управления сервером, которые произошли с момента публикации страницы на сервер. (Унаследовано от Control) |
| SaveViewState() |
Сохраняет состояние TreeView элемента управления. |
| SetDesignModeState(IDictionary) |
Задает данные во время разработки для элемента управления. (Унаследовано от Control) |
| SetNodeDataBound(TreeNode, Boolean) |
Позволяет производной классу задать, привязан ли указанный TreeNode элемент управления к данным. |
| SetNodeDataItem(TreeNode, Object) |
Позволяет производном классу задать элемент данных для указанного TreeNode элемента управления. |
| SetNodeDataPath(TreeNode, String) |
Позволяет производной классу задать путь к данным для указанного TreeNode элемента управления. |
| SetRenderMethodDelegate(RenderMethod) |
Назначает делегат обработчика событий для отрисовки элемента управления сервером и его содержимого в родительский элемент управления. (Унаследовано от Control) |
| SetTraceData(Object, Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя объект трассировки, ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
| SetTraceData(Object, Object) |
Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки. (Унаследовано от Control) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
| TrackViewState() |
Отслеживает изменения TreeView состояния представления в элементе управления, чтобы они могли храниться в объекте StateBag для элемента управления. Это StateBag доступно через ViewState свойство. |
| ValidateDataSource(Object) |
Проверяет, что объект, к которому привязан элемент управления, привязанный к данным, является тем, с которым он может работать. (Унаследовано от HierarchicalDataBoundControl) |
События
| Имя | Описание |
|---|---|
| DataBinding |
Происходит, когда серверный элемент управления привязывается к источнику данных. (Унаследовано от Control) |
| DataBound |
Происходит после привязки серверного элемента управления к источнику данных. (Унаследовано от BaseDataBoundControl) |
| Disposed |
Происходит при освобождении серверного элемента управления из памяти, который является последним этапом жизненного цикла управления сервера при запросе страницы ASP.NET. (Унаследовано от Control) |
| Init |
Происходит при инициализации серверного элемента управления, который является первым шагом в его жизненном цикле. (Унаследовано от Control) |
| Load |
Происходит при загрузке серверного элемента управления в Page объект. (Унаследовано от Control) |
| PreRender |
Происходит после Control загрузки объекта, но до отрисовки. (Унаследовано от Control) |
| SelectedNodeChanged |
Происходит при выборе узла в элементе TreeView управления. |
| TreeNodeCheckChanged |
Возникает, когда флажок в TreeView элементе управления изменяет состояние между записями на сервере. |
| TreeNodeCollapsed |
Происходит при сворачивании TreeView узла в элементе управления. |
| TreeNodeDataBound |
Происходит, когда элемент данных привязан к узлу в элементе TreeView управления. |
| TreeNodeExpanded |
Происходит при развертывании узла в элементе TreeView управления. |
| TreeNodePopulate |
Происходит, когда узел со своим PopulateOnDemand набором |
| Unload |
Происходит при выгрузке серверного элемента управления из памяти. (Унаследовано от Control) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IAttributeAccessor.GetAttribute(String) |
Возвращает атрибут веб-элемента управления с указанным именем. (Унаследовано от WebControl) |
| IAttributeAccessor.SetAttribute(String, String) |
Задает атрибут веб-элемента управления указанным именем и значением. (Унаследовано от WebControl) |
| ICallbackEventHandler.GetCallbackResult() |
Возвращает результат события обратного вызова, предназначенного для элемента управления. |
| ICallbackEventHandler.RaiseCallbackEvent(String) |
Вызывает событие обратного вызова с помощью указанных аргументов. |
| IControlBuilderAccessor.ControlBuilder |
Описание этого элемента см. в разделе ControlBuilder. (Унаследовано от Control) |
| IControlDesignerAccessor.GetDesignModeState() |
Описание этого элемента см. в разделе GetDesignModeState(). (Унаследовано от Control) |
| IControlDesignerAccessor.SetDesignModeState(IDictionary) |
Описание этого элемента см. в разделе SetDesignModeState(IDictionary). (Унаследовано от Control) |
| IControlDesignerAccessor.SetOwnerControl(Control) |
Описание этого элемента см. в разделе SetOwnerControl(Control). (Унаследовано от Control) |
| IControlDesignerAccessor.UserData |
Описание этого элемента см. в разделе UserData. (Унаследовано от Control) |
| IDataBindingsAccessor.DataBindings |
Описание этого элемента см. в разделе DataBindings. (Унаследовано от Control) |
| IDataBindingsAccessor.HasDataBindings |
Описание этого элемента см. в разделе HasDataBindings. (Унаследовано от Control) |
| IExpressionsAccessor.Expressions |
Описание этого элемента см. в разделе Expressions. (Унаследовано от Control) |
| IExpressionsAccessor.HasExpressions |
Описание этого элемента см. в разделе HasExpressions. (Унаследовано от Control) |
| IParserAccessor.AddParsedSubObject(Object) |
Описание этого элемента см. в разделе AddParsedSubObject(Object). (Унаследовано от Control) |
| IPostBackDataHandler.LoadPostData(String, NameValueCollection) |
Обрабатывает данные обратной передачи TreeView для элемента управления. |
| IPostBackDataHandler.RaisePostDataChangedEvent() |
TreeView Сигнализирует элементу управления, чтобы уведомить приложение ASP.NET о том, что состояние элемента управления изменилось. |
| IPostBackEventHandler.RaisePostBackEvent(String) |
Позволяет элементу TreeView управления обрабатывать событие, возникающее при публикации формы на сервер. |
Методы расширения
| Имя | Описание |
|---|---|
| EnablePersistedSelection(BaseDataBoundControl) |
Устаревшие..
Позволяет сохранять выбор в элементах управления данными, поддерживающих выбор и разбиение по страницам. |
| FindDataSourceControl(Control) |
Возвращает источник данных, связанный с элементом управления данными для указанного элемента управления. |
| FindFieldTemplate(Control, String) |
Возвращает шаблон поля для указанного столбца в контейнере именования указанного элемента управления. |
| FindMetaTable(Control) |
Возвращает объект метатабли для содержащего элемента управления данными. |