TreeNode 클래스

정의

TreeView 컨트롤에 있는 노드를 나타냅니다.Represents a node in the TreeView control.

public ref class TreeNode : ICloneable, System::Web::UI::IStateManager
public class TreeNode : ICloneable, System.Web.UI.IStateManager
type TreeNode = class
    interface IStateManager
    interface ICloneable
Public Class TreeNode
Implements ICloneable, IStateManager
상속
TreeNode
구현

예제

다음 코드 예제에는 다음 코드 예제에 대 한 프레임을 설정 하는 방법을 보여 줍니다.The following code example demonstrates how to set up the frames for the next code example.


<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>

다음 코드 예제를 만들려면 선언적 구문을 사용 하는 방법을 보여 줍니다 TreeNode 개체는 TreeView 제어 합니다.The following code example demonstrates how to use declarative syntax to create TreeNode objects in the TreeView control. 이 예제는 목차를 표시 하려면 앞의 예제 프레임셋 내에서 사용 됩니다.This example is used within the frameset of the previous example to display a table of contents.


<%@ 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 컨트롤은 노드의 이루어집니다.The TreeView control is made up of nodes. 트리의 각 항목을 노드라고 하 고 표시 됩니다는 TreeNode 개체입니다.Each entry in the tree is called a node and is represented by a TreeNode object. 다른 노드를 포함 하는 노드를 부모 노드합니다.A node that contains other nodes is called a parent node. 다른 노드에 있는 노드를 자식 노드합니다.A node that is contained by another node is called a child node. 자식 노드가 없는 노드를 리프 노드에합니다.A node that has no child nodes is called a leaf node. 다른 노드가 포함 되어 있지는 다른 모든 노드의 상위 노드를 루트 노드합니다.A node that is not contained by any other node but is the ancestor to all the other nodes is the root node. 부모와 자식 있지만 루트, 부모 노드 수 및 리프 노드는 함께 사용할 수 없습니다.A node can be both a parent and a child, but root, parent, and leaf nodes are mutually exclusive. 노드의 여러 visual 및 동작 속성 노드인지 의해 결정 되는 루트, 부모, 또는 리프 노드.Several visual and behavioral properties of nodes are determined by whether a node is a root, parent, or leaf node.

일반적인 트리 루트 노드가 하나만 있지만 TreeView 컨트롤 트리 구조에 여러 루트 노드를 추가할 수 있습니다.Although a typical tree has only one root node, the TreeView control allows you to add multiple root nodes to your tree structure. 제품 범주 목록와 같이 단일 기본 루트 노드를 표시 하지 않고 항목 목록을 표시 하려는 경우에 유용 합니다.This is useful when you want to display item listings without displaying a single main root node, as in a list of product categories.

노드를 두 개의 속성에 주로 데이터를 저장 합니다 Text 속성 및 Value 속성입니다.A node primarily stores data in two properties, the Text property and the Value property. 값을 Text 속성에 표시 됩니다는 TreeView 컨트롤 및 Value 속성은 포스트백 이벤트 처리에 사용 되는 데이터와 같은 노드에 대 한 추가 데이터를 저장 하는 데 사용 됩니다.The value of the Text property is displayed in the TreeView control, and the Value property is used to store any additional data about the node, such as data used for handling postback events. 노드가 노드에서 경로에서 루트 노드를 저장 합니다 ValuePath 속성입니다.A node also stores the path from the node to its root node in the ValuePath property. ValuePath 속성 루트 노드에 상대적인 노드의 위치를 나타냅니다.The ValuePath property indicates the node's position relative to the root node.

참고

동일한 수준의 노드 각각 있어야에 고유한 값을 합니다 Value 속성, TreeView 컨트롤은 동일한 값이 있는 동일한 수준의 다른 노드 간에 구분할 수 없습니다.Nodes at the same level must each have a unique value for the Value property; the TreeView control cannot distinguish between different nodes at the same level that have the same value. 이 시나리오에서는 중복 값을 가진 노드를 클릭할 경우 노드에 표시 되는 첫 번째는 TreeView 컨트롤을 선택 합니다.In this scenario, if the user clicks a node that has a duplicate value, the node that appears first in the TreeView control is selected.

TreeNode 개체 사용자 지정 하거나 숨길 수 있는 다음 네 가지 사용자 인터페이스 (UI) 요소 이루어집니다.A TreeNode object is made up of the following four user interface (UI) elements, which can be customized or hidden:

  • 확장 노드 표시기 아이콘 노드 확장, 축소 또는 확장 불가능 한지 여부를 표시 하는 데 사용 합니다.An expansion node indicator icon used to show whether the node is expanded, collapsed, or non-expandable.

  • 노드와 연결 된는 선택적 확인 상자입니다.An optional check box associated with the node.

  • 선택적 노드 이미지입니다.An optional node image.

  • 노드 텍스트입니다.The node text.

설정 하 여 확장, 축소 가능 및 확장할 수 없는 노드 표시기에 대 한 사용자 지정 이미지를 지정할 수 있습니다는 ExpandImageUrl, CollapseImageUrl, 및 NoExpandImageUrl 의 속성을 TreeView 클래스입니다.You can specify a custom image for the expandable, collapsible, and non-expandable node indicators by setting the ExpandImageUrl, CollapseImageUrl, and NoExpandImageUrl properties of the TreeView class. 확장 노드 표시기 아이콘도 설정 하 여 완전히 숨길 수 있습니다 합니다 ShowExpandCollapse 의 속성을 TreeView 클래스를 false입니다.The expansion node indicator icons can even be hidden entirely by setting the ShowExpandCollapse property of the TreeView class to false.

노드 옆에 있는 확인란을 표시 하려면 설정 합니다 ShowCheckBoxes 의 속성을 TreeView 클래스.To display a check box next to a node, set the ShowCheckBoxes property of the TreeView class. 경우는 ShowCheckBoxes 속성 이외의 다른 값으로 설정 됩니다 TreeNodeType.Node, 지정된 된 노드 형식 옆에 확인란이 표시 됩니다.When the ShowCheckBoxes property is set to a value other than TreeNodeType.Node, check boxes are displayed next to the specified node type. 노드를 설정 하 여 개별 노드의 확인란을 선택적으로 재정의할 수 있습니다 ShowCheckBox 속성입니다.You can selectively override the check box of an individual node by setting the node's ShowCheckBox property. 확인란이 표시 되 면 사용 된 Checked 확인란 선택 되었는지 여부를 결정 하는 속성입니다.When a check box is displayed, use the Checked property to determine whether the check box is selected.

설정 하 여 노드에서 이미지를 표시할 수는 ImageUrl 속성입니다.You can display an image in a node by setting the ImageUrl property. 이 이미지는 노드 텍스트 옆에 표시 됩니다.This image is displayed next to the node text.

에 있는 노드의 텍스트를 TreeView 컨트롤 두 가지 모드 중 하나일 수 있습니다: 선택 모드 또는 탐색 모드입니다.The text of a node in the TreeView control can be in one of two modes: selection mode or navigation mode. 기본적으로 노드 선택 모드입니다.By default, a node is in selection mode. 탐색 모드에 노드에 적용할 노드 설정 NavigateUrl 빈 문자열이 아닌 값으로 속성 ("").To put a node into navigation mode, set the node's NavigateUrl property to a value other than an empty string (""). 노드 선택 모드로 설정 합니다 노드의 NavigateUrl 속성을 빈 문자열입니다.To put a node into selection mode, set the node's NavigateUrl property to an empty string.

참고

성능에 영향을 줄 수 있는 제한이 일부 인터넷 브라우저를 TreeView 제어 합니다.Some Internet browsers have a limitation that can affect the performance of the TreeView control. 예를 들어 Microsoft Internet Explorer 6.0에 게시 하는 2067 문자를 URL 문자 제한이 있습니다.For example, Microsoft Internet Explorer 6.0 has a URL character limit of 2067 characters that it posts. 노드의 URL의 문자 수가 해당 번호 보다 큰 경우 해당 노드를 확장 하면 실패 하 고 예외가 throw 되지 않습니다.If the number of characters in a URL of a node is larger than that number, expanding that node will fail and no exception is thrown.

선택 모드에 있는 노드를 클릭 하면 기본적으로 페이지는 서버와 발생에 게시 된 SelectedNodeChanged 이벤트입니다.By default, clicking a node that is in selection mode posts the page back to the server and raises the SelectedNodeChanged event. 노드를 설정 하 여 발생 시키는 다른 이벤트를 지정할 수도 있습니다 SelectAction 속성입니다.You can optionally specify a different event to raise by setting the node's SelectAction property. 자세한 내용은 SelectAction을 참조하세요.For more information, see SelectAction. 선택 모드에서 클릭 된 노드를 확인 하려면 사용 합니다 SelectedNode 의 속성은 TreeView 컨트롤입니다.To determine which node was clicked in selection mode, use the SelectedNode property of the TreeView control.

노드 탐색 모드에 있으면 해당 노드에 대 한 선택 이벤트를 모두 비활성화 됩니다.When a node is in navigation mode, all selection events are disabled for that node. 탐색 모드에서 노드를 클릭 하면 사용자 지정된 된 URL 전달 합니다.Clicking the node in navigation mode directs the user to the specified URL. 선택적으로 설정할 수는 Target 속성 창이 나 연결된 된 콘텐츠를 표시 하는 프레임을 지정 합니다.You can optionally set the Target property to specify the window or frame in which to display the linked content.

TreeNode 클래스 노드의 상태를 저장 하는 데 사용 되는 몇 가지 속성을 포함 합니다.The TreeNode class contains several properties that are used to store the state of the node. 사용 하 여는 Selected 노드가 선택 되어 있는지 여부를 결정 하는 속성입니다.Use the Selected property to determine whether a node is selected. 노드가 확장 되는지 여부를 확인 하려면 사용 된 Expanded 속성입니다.To determine whether the node is expanded, use the Expanded property. DataBound 속성 노드 데이터에 바인딩되어 있는지 여부를 결정 하는 데 사용 됩니다.The DataBound property is used to determine whether a node is bound to data. 노드 데이터를 바인딩할 때 기본 데이터 항목을 사용 하 여 액세스할 수 있습니다는 DataItem 속성입니다.When a node is bound to data, you can access the underlying data item by using the DataItem property.

클래스는 트리의 다른 노드에 상대적인 노드의 위치를 확인 하는 데 도움이 되는 몇 가지 속성을 제공 합니다.The class provides several properties that help to determine the position of a node relative to other nodes in the tree. 사용 된 Depth 노드의 수준을 확인 하는 속성입니다.Use the Depth property to determine the depth of the node. 사용 하 여 해당 루트 노드를 구분 기호로 분리 된 노드 목록의 현재 노드에서 가져올 수는 ValuePath 속성입니다.You can get the delimited list of nodes from the current node to its root node by using the ValuePath property. 부모 노드를 확인 하려면 사용 된 Parent 속성입니다.To determine the node's parent node, use the Parent property. 자식 노드를 사용 하 여 액세스를 ChildNodes 컬렉션입니다.Child nodes are accessed using the ChildNodes collection.

경우에 따라 정적으로 인해 데이터 크기 또는 사용자 입력에 따라 달라 지는 사용자 지정 콘텐츠 트리 구조는 미리 정의 실용적이 지 않습니다.Sometimes, it is not practical to statically predefine the tree structure due to data size or custom content that depends on user input. 이 인해는 TreeView 컨트롤은 동적 노드 채우기를 지원 합니다.Because of this, the TreeView control supports dynamic node population. 런타임에 확장 될 때 노드를 채울 수 있습니다.A node can be populated at run time when it is expanded. 노드 생성 하는 참고 비동기적으로 유지 하는 경우 예기치 않은 동작을 가져올 수 있습니다.Note that you can get unexpected behavior if you persist asynchronously created nodes. 예를 들어, 백그라운드 작업자 스레드를 사용 하 여 노드를 비동기적으로 채우는 경우 노드 트리 수 채워지지 즉시 컨트롤 페이지 주기의 나머지 부분을 진행 하지만.For example, if you use a background worker thread to populate nodes asynchronously, the node tree might not be populated immediately though the control proceeds with the rest of the page life cycle. 포스트백에서 노드 생성이 지연 되는 컨트롤의 뷰 상태 로드 되었지만 노드 트리를 완벽 하 게 채워지지 않는 경우 문제가 발생할 수 있습니다.On postback, the delayed creation of the nodes can cause problems when the control's view state is loaded but the node tree is not fully populated. 동적 노드 채우기에 대 한 자세한 내용은 참조는 PopulateOnDemand 속성입니다.For more information on dynamic node population, see the PopulateOnDemand property.

인스턴스의 초기 속성 값의 목록을 TreeNode, 참조는 TreeNode 생성자입니다.For a list of initial property values for an instance of TreeNode, see the TreeNode constructor.

생성자

TreeNode()

텍스트나 값을 사용하지 않고 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class without text or a value.

TreeNode(String)

지정된 텍스트를 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class using the specified text.

TreeNode(String, String)

지정된 텍스트와 값을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class using the specified text and value.

TreeNode(String, String, String)

지정된 텍스트, 값 및 이미지 URL을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class using the specified text, value, and image URL.

TreeNode(String, String, String, String, String)

지정된 텍스트, 값, 이미지 URL, 탐색 URL 및 대상을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class using the specified text, value, image URL, navigation URL, and target.

TreeNode(TreeView, Boolean)

지정된 소유자를 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the TreeNode class using the specified owner.

속성

Checked

노드의 확인란이 선택 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the node's check box is selected.

ChildNodes

현재 노드의 첫째 수준 자식 노드가 들어 있는 TreeNodeCollection 컬렉션을 가져옵니다.Gets a TreeNodeCollection collection that contains the first-level child nodes of the current node.

DataBound

노드가 데이터 바인딩을 통해 만들어졌는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the node was created through data binding.

DataItem

컨트롤에 바인딩된 데이터 항목을 가져옵니다.Gets the data item that is bound to the control.

DataPath

노드에 바인딩된 데이터의 경로를 가져옵니다.Gets the path to the data bound to the node.

Depth

노드의 수준을 가져옵니다.Gets the depth of the node.

Expanded

노드가 확장 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the node is expanded.

ImageToolTip

노드 옆에 표시되는 이미지의 도구 설명 텍스트를 가져오거나 설정합니다.Gets or sets the ToolTip text for the image displayed next to a node.

ImageUrl

노드 옆에 표시되는 이미지의 URL을 가져오거나 설정합니다.Gets or sets the URL to an image that is displayed next to the node.

IsTrackingViewState

노드에서 해당 뷰 상태의 변경 내용을 저장하는지 여부를 나타내는 값을 가져옵니다.Gets a value that indicates whether the node is saving changes to its view state.

NavigateUrl

노드를 클릭할 때 탐색할 URL을 가져오거나 설정합니다.Gets or sets the URL to navigate to when the node is clicked.

Parent

현재 노드의 부모 노드를 가져옵니다.Gets the parent node of the current node.

PopulateOnDemand

노드가 동적으로 채워지는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the node is populated dynamically.

SelectAction

노드가 선택될 때 발생하는 이벤트를 가져오거나 설정합니다.Gets or sets the event or events to raise when a node is selected.

Selected

노드가 선택 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether the node is selected.

ShowCheckBox

노드 옆에 확인란이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.Gets or sets a value that indicates whether a check box is displayed next to the node.

Target

노드와 연결된 웹 페이지 콘텐츠를 표시할 대상 창 또는 프레임을 가져오거나 설정합니다.Gets or sets the target window or frame in which to display the Web page content associated with a node.

Text

TreeView 컨트롤의 노드에 표시되는 텍스트를 가져오거나 설정합니다.Gets or sets the text displayed for the node in the TreeView control.

ToolTip

노드에 대한 도구 설명 텍스트를 가져오거나 설정합니다.Gets or sets the ToolTip text for the node.

Value

포스트백 이벤트를 처리하는 데 사용되는 데이터와 같이 노드에 대한 추가 데이터를 저장하는 데 사용되며 표시되지는 않는 값을 가져오거나 설정합니다.Gets or sets a non-displayed value used to store any additional data about the node, such as data used for handling postback events.

ValuePath

루트 노드에서 현재 노드까지의 경로를 가져옵니다.Gets the path from the root node to the current node.

메서드

Clone()

현재 TreeNode 인스턴스의 속성을 사용하여 TreeNode 클래스의 새 인스턴스를 만듭니다.Creates a new instance of the TreeNode class with the properties of the current TreeNode instance.

Collapse()

현재 트리 노드를 축소합니다.Collapses the current tree node.

CollapseAll()

현재 노드와 모든 자식 노드를 축소합니다.Collapses the current node and all its child nodes.

Equals(Object)

지정한 개체가 현재 개체와 같은지를 확인합니다.Determines whether the specified object is equal to the current object.

(다음에서 상속됨 Object)
Expand()

현재 트리 노드를 확장합니다.Expands the current tree node.

ExpandAll()

현재 노드와 모든 자식 노드를 확장합니다.Expands the current node and all its child nodes.

GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(다음에서 상속됨 Object)
GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(다음에서 상속됨 Object)
LoadViewState(Object)

노드에 대해 이전에 저장된 뷰 상태를 로드합니다.Loads the previously saved view state of the node.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(다음에서 상속됨 Object)
RenderPostText(HtmlTextWriter)

컨트롤 개발자가 노드에 렌더링을 추가할 수 있도록 합니다.Allows control developers to add additional rendering to the node.

RenderPreText(HtmlTextWriter)

컨트롤 개발자가 노드에 렌더링을 추가할 수 있도록 합니다.Allows control developers to add additional rendering to the node.

SaveViewState()

노드의 현재 뷰 상태를 저장합니다.Saves the current view state of the node.

Select()

TreeView 컨트롤의 현재 노드를 선택합니다.Selects the current node in the TreeView control.

ToggleExpandState()

노드의 확장 상태와 축소 상태에서 전환합니다.Alternates between the expanded and collapsed state of the node.

ToString()

현재 개체를 나타내는 string을 반환합니다.Returns a string that represents the current object.

(다음에서 상속됨 Object)
TrackViewState()

노드의 뷰 상태 변경 내용에 대한 추적 및 저장을 시작할 위치를 표시합니다.Marks the starting point at which to begin tracking and saving view state changes to the node.

명시적 인터페이스 구현

ICloneable.Clone()

TreeNode 개체의 복사본을 만듭니다.Creates a copy of the TreeNode object.

IStateManager.IsTrackingViewState

이 멤버에 대한 설명은 IsTrackingViewState를 참조하세요.For a description of this member, see IsTrackingViewState.

IStateManager.LoadViewState(Object)

노드의 이전에 저장된 뷰 상태를 로드합니다.Loads the node's previously saved view state.

IStateManager.SaveViewState()

Object에 뷰 상태 변경 내용을 저장합니다.Saves the view state changes to a Object.

IStateManager.TrackViewState()

TreeNode 개체에서 해당 뷰 상태의 변경 내용을 추적하도록 합니다.Instructs the TreeNode object to track changes to its view state.

적용 대상

추가 정보