Поделиться через


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

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

(Унаследовано от BaseDataBoundControl)
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 значение 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, Int32)

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

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

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

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

Вызывается после удаления дочернего 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 набором 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)

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

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

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