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" и обзор частичной отрисовки страниц.

Узлы

Элемент TreeView управления состоит из узлов. Каждая запись в дереве называется узлом и представлена TreeNode объектом. Типы узлов определяются следующим образом:

  • Узел, содержащий другие узлы, называется родительским узлом.

  • Узел, содержащийся другим узлом, называется дочерним.

  • Узел без дочерних элементов называется конечным узлом.

  • Узел, который не содержится каким-либо другим узлом, но является предком для всех остальных узлов, является корневым узлом.

Узел может быть как родительским, так и дочерним, но корневые, родительские и конечные узлы являются взаимоисключающими. Несколько визуальных и поведенческих свойств узлов определяются тем, является ли узел корневым, дочерним или конечным.

Хотя типичная древовидная структура имеет только один корневой узел, TreeView элемент управления позволяет добавлять несколько корневых узлов в структуру дерева. Это полезно, если требуется отобразить списки элементов без отображения одного корневого узла, как в списке категорий продуктов.

Каждый узел имеет Text свойство и Value свойство. Значение Text свойства отображается в TreeViewэлементе , а Value свойство используется для хранения дополнительных данных об узле, таких как данные, передаваемые в событие обратной передачи, связанное с узлом.

Узел может находиться в одном из двух режимов: режим выбора и режим навигации. По умолчанию узел находится в режиме выбора. Чтобы поместить узел в режим навигации, задайте NavigateUrl для свойства значение, отличное от пустой строки (""). Чтобы поместить узел в режим выбора, задайте NavigateUrl для свойства пустой строки ("").

Примечание

Некоторые браузеры Интернета имеют ограничение, которое может повлиять на производительность TreeView элемента управления. Например, Microsoft Internet Explorer 6.0 имеет ограничение в 2067 символов URL-адреса, которые он публикует. Если число символов в URL-адресе узла больше этого числа, расширение этого узла завершится ошибкой, и исключение не возникает.

Статические данные

Простейшая модель TreeView данных элемента управления — это статические данные. Чтобы отобразить статические данные с помощью декларативного синтаксиса, сначала вложить открывающие и закрывающие <Nodes> теги между открывающим и закрывающим тегами TreeView элемента управления. Затем создайте структуру дерева путем вложения <asp:TreeNode> элементов между открывающими и закрывающими <Nodes> тегами. Каждый <asp:TreeNode> элемент представляет узел в дереве и сопоставляется с TreeNode объектом. Вы можете задать свойства каждого узла, задав атрибуты его <asp:TreeNode> элемента. Чтобы создать дочерние узлы, вложить дополнительные <asp:TreeNode> элементы между открывающим и закрывающим <asp:TreeNode> тегами родительского узла.

Привязка к данным

Элемент TreeView управления также может быть привязан к данным. Для привязки TreeView элемента управления к соответствующему типу источника данных можно использовать один из двух методов:

  • Элемент TreeView управления может использовать любой элемент управления источником данных, реализующий IHierarchicalDataSource интерфейс, например XmlDataSource элемент управления или 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 управления.

Событие Описание
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

Получает значение, указывающее, должен ли элемент управления устанавливать для атрибута disabled отрисовываемого элемента HTML значение disabled, если для свойства элемента управления IsEnabled задано значение false.

(Унаследовано от BaseDataBoundControl)
TabIndex

Возвращает или задает индекс перехода по клавише Tab для серверного веб-элемента управления.

(Унаследовано от 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)

Вызывается после добавления дочернего элемента управления в коллекцию Controls объекта Control.

(Унаследовано от Control)
AddParsedSubObject(Object)

Уведомляет серверный элемент управления, что элемент XML или HTML был проанализирован, и добавляет элемент в серверный элемент управления объекта ControlCollection.

(Унаследовано от Control)
ApplyStyle(Style)

Копирует любой непустой элемент указанного стиля в элемент управления Веба, перезаписывая уже существующие элементы стиля. Этот метод, в основном, используется разработчиками элементов управления.

(Унаследовано от WebControl)
ApplyStyleSheetSkin(Page)

Применяет свойства стиля, определенные в таблице стилей страницы, к элементу управления.

(Унаследовано от Control)
BeginRenderTracing(TextWriter, Object)

Запускает трассировку во время разработки данных отрисовки.

(Унаследовано от Control)
BuildProfileTree(String, Boolean)

Собирает сведения о серверном элементе управления и доставляет их свойству Trace, которое отображается при включенной на странице трассировке.

(Унаследовано от Control)
ClearCachedClientID()

Задает для кэшированного свойства ClientID значение null.

(Унаследовано от Control)
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)

Выполняет поиск серверного элемента управления с заданным параметром id в текущем контейнере именования.

(Унаследовано от Control)
FindControl(String, Int32)

Выполняет поиск в текущем контейнере именования серверного элемента управления с указанным id и целым числом, указанным в параметре pathOffset, который содействует поиску. Эту версию метода FindControl не следует переопределять.

(Унаследовано от Control)
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)

Вызывается после удаления дочернего элемента управления из коллекции Controls объекта Control.

(Унаследовано от Control)
Render(HtmlTextWriter)

Выполняет визуализацию элемента управления в указанный модуль записи HTML.

(Унаследовано от WebControl)
RenderBeginTag(HtmlTextWriter)

Выводит открывающий HTML-тег элемента управления в указанное средство записи.

RenderChildren(HtmlTextWriter)

Выводит содержимое дочерних элементов серверного элемента управления в предоставленный объект HtmlTextWriter, который записывает это содержимое для подготовки к просмотру на клиенте.

(Унаследовано от Control)
RenderContents(HtmlTextWriter)

Отображает узлы элемента управления TreeView.

RenderControl(HtmlTextWriter)

Выводит содержимое серверного элемента управления в указанный объект HtmlTextWriter и сохраняет сведения о трассировке элемента управления, если трассировка включена.

(Унаследовано от Control)
RenderControl(HtmlTextWriter, ControlAdapter)

Выводит серверный элемент управления в указанный объект HtmlTextWriter, используя указанный объект ControlAdapter.

(Унаследовано от Control)
RenderEndTag(HtmlTextWriter)

Выводит закрывающий HTML-тег элемента управления в указанное средство записи.

ResolveAdapter()

Возвращает адаптер элемента управления, отвечающий за отрисовку определенного элемента управления.

(Унаследовано от Control)
ResolveClientUrl(String)

Возвращает URL-адрес, который может использоваться браузером.

(Унаследовано от Control)
ResolveUrl(String)

Преобразует 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)

Задает данные трассировки для трассировки данных отрисовки во время разработки, используя ключ данных трассировки и значение данных трассировки.

(Унаследовано от Control)
SetTraceData(Object, 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, имеющим значение true, разворачивается в элементе управления TreeView.

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)

Возвращает объект метатаблицы для контейнерного элемента управления данными.

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

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