TreeNode 클래스

정의

TreeView 컨트롤에 있는 노드를 나타냅니다.

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

예제

다음 코드 예제에는 다음 코드 예제에 대 한 프레임을 설정 하는 방법을 보여 줍니다.


<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 제어 합니다. 이 예제는 목차를 표시 하려면 앞의 예제 프레임셋 내에서 사용 됩니다.


<%@ 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 컨트롤은 노드의 이루어집니다. 트리의 각 항목을 노드라고 하 고 표시 됩니다는 TreeNode 개체입니다. 다른 노드를 포함 하는 노드를 부모 노드합니다. 다른 노드에 있는 노드를 자식 노드합니다. 자식 노드가 없는 노드를 리프 노드에합니다. 다른 노드가 포함 되어 있지는 다른 모든 노드의 상위 노드를 루트 노드합니다. 부모와 자식 있지만 루트, 부모 노드 수 및 리프 노드는 함께 사용할 수 없습니다. 노드의 여러 visual 및 동작 속성 노드인지 의해 결정 되는 루트, 부모, 또는 리프 노드.

일반적인 트리 루트 노드가 하나만 있지만 TreeView 컨트롤 트리 구조에 여러 루트 노드를 추가할 수 있습니다. 제품 범주 목록와 같이 단일 기본 루트 노드를 표시 하지 않고 항목 목록을 표시 하려는 경우에 유용 합니다.

노드를 두 개의 속성에 주로 데이터를 저장 합니다 Text 속성 및 Value 속성입니다. 값을 Text 속성에 표시 됩니다는 TreeView 컨트롤 및 Value 속성은 포스트백 이벤트 처리에 사용 되는 데이터와 같은 노드에 대 한 추가 데이터를 저장 하는 데 사용 됩니다. 노드가 노드에서 경로에서 루트 노드를 저장 합니다 ValuePath 속성입니다. ValuePath 속성 루트 노드에 상대적인 노드의 위치를 나타냅니다.

참고

동일한 수준의 노드 각각 있어야에 고유한 값을 합니다 Value 속성, TreeView 컨트롤은 동일한 값이 있는 동일한 수준의 다른 노드 간에 구분할 수 없습니다. 이 시나리오에서는 중복 값을 가진 노드를 클릭할 경우 노드에 표시 되는 첫 번째는 TreeView 컨트롤을 선택 합니다.

TreeNode 개체 사용자 지정 하거나 숨길 수 있는 다음 네 가지 사용자 인터페이스 (UI) 요소 이루어집니다.

  • 확장 노드 표시기 아이콘 노드 확장, 축소 또는 확장 불가능 한지 여부를 표시 하는 데 사용 합니다.

  • 노드와 연결 된는 선택적 확인 상자입니다.

  • 선택적 노드 이미지입니다.

  • 노드 텍스트입니다.

설정 하 여 확장, 축소 가능 및 확장할 수 없는 노드 표시기에 대 한 사용자 지정 이미지를 지정할 수 있습니다는 ExpandImageUrl, CollapseImageUrl, 및 NoExpandImageUrl 의 속성을 TreeView 클래스입니다. 확장 노드 표시기 아이콘도 설정 하 여 완전히 숨길 수 있습니다 합니다 ShowExpandCollapse 의 속성을 TreeView 클래스를 false입니다.

노드 옆에 있는 확인란을 표시 하려면 설정 합니다 ShowCheckBoxes 의 속성을 TreeView 클래스. 경우는 ShowCheckBoxes 속성 이외의 다른 값으로 설정 됩니다 TreeNodeType.Node, 지정된 된 노드 형식 옆에 확인란이 표시 됩니다. 노드를 설정 하 여 개별 노드의 확인란을 선택적으로 재정의할 수 있습니다 ShowCheckBox 속성입니다. 확인란이 표시 되 면 사용 된 Checked 확인란 선택 되었는지 여부를 결정 하는 속성입니다.

설정 하 여 노드에서 이미지를 표시할 수는 ImageUrl 속성입니다. 이 이미지는 노드 텍스트 옆에 표시 됩니다.

에 있는 노드의 텍스트를 TreeView 컨트롤 두 가지 모드 중 하나일 수 있습니다: 선택 모드 또는 탐색 모드입니다. 기본적으로 노드 선택 모드입니다. 탐색 모드에 노드에 적용할 노드 설정 NavigateUrl 빈 문자열이 아닌 값으로 속성 (""). 노드 선택 모드로 설정 합니다 노드의 NavigateUrl 속성을 빈 문자열입니다.

참고

성능에 영향을 줄 수 있는 제한이 일부 인터넷 브라우저를 TreeView 제어 합니다. 예를 들어 Microsoft Internet Explorer 6.0에 게시 하는 2067 문자를 URL 문자 제한이 있습니다. 노드의 URL의 문자 수가 해당 번호 보다 큰 경우 해당 노드를 확장 하면 실패 하 고 예외가 throw 되지 않습니다.

선택 모드에 있는 노드를 클릭 하면 기본적으로 페이지는 서버와 발생에 게시 된 SelectedNodeChanged 이벤트입니다. 노드를 설정 하 여 발생 시키는 다른 이벤트를 지정할 수도 있습니다 SelectAction 속성입니다. 자세한 내용은 SelectAction를 참조하세요. 선택 모드에서 클릭 된 노드를 확인 하려면 사용 합니다 SelectedNode 의 속성은 TreeView 컨트롤입니다.

노드 탐색 모드에 있으면 해당 노드에 대 한 선택 이벤트를 모두 비활성화 됩니다. 탐색 모드에서 노드를 클릭 하면 사용자 지정된 된 URL 전달 합니다. 선택적으로 설정할 수는 Target 속성 창이 나 연결된 된 콘텐츠를 표시 하는 프레임을 지정 합니다.

TreeNode 클래스 노드의 상태를 저장 하는 데 사용 되는 몇 가지 속성을 포함 합니다. 사용 하 여는 Selected 노드가 선택 되어 있는지 여부를 결정 하는 속성입니다. 노드가 확장 되는지 여부를 확인 하려면 사용 된 Expanded 속성입니다. DataBound 속성 노드 데이터에 바인딩되어 있는지 여부를 결정 하는 데 사용 됩니다. 노드 데이터를 바인딩할 때 기본 데이터 항목을 사용 하 여 액세스할 수 있습니다는 DataItem 속성입니다.

클래스는 트리의 다른 노드에 상대적인 노드의 위치를 확인 하는 데 도움이 되는 몇 가지 속성을 제공 합니다. 사용 된 Depth 노드의 수준을 확인 하는 속성입니다. 사용 하 여 해당 루트 노드를 구분 기호로 분리 된 노드 목록의 현재 노드에서 가져올 수는 ValuePath 속성입니다. 부모 노드를 확인 하려면 사용 된 Parent 속성입니다. 자식 노드를 사용 하 여 액세스를 ChildNodes 컬렉션입니다.

경우에 따라 정적으로 인해 데이터 크기 또는 사용자 입력에 따라 달라 지는 사용자 지정 콘텐츠 트리 구조는 미리 정의 실용적이 지 않습니다. 이 인해는 TreeView 컨트롤은 동적 노드 채우기를 지원 합니다. 런타임에 확장 될 때 노드를 채울 수 있습니다. 노드 생성 하는 참고 비동기적으로 유지 하는 경우 예기치 않은 동작을 가져올 수 있습니다. 예를 들어, 백그라운드 작업자 스레드를 사용 하 여 노드를 비동기적으로 채우는 경우 노드 트리 수 채워지지 즉시 컨트롤 페이지 주기의 나머지 부분을 진행 하지만. 포스트백에서 노드 생성이 지연 되는 컨트롤의 뷰 상태 로드 되었지만 노드 트리를 완벽 하 게 채워지지 않는 경우 문제가 발생할 수 있습니다. 동적 노드 채우기에 대 한 자세한 내용은 참조는 PopulateOnDemand 속성입니다.

인스턴스의 초기 속성 값의 목록을 TreeNode, 참조는 TreeNode 생성자입니다.

생성자

TreeNode()

텍스트나 값을 사용하지 않고 TreeNode 클래스의 새 인스턴스를 초기화합니다.

TreeNode(String)

지정된 텍스트를 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.

TreeNode(String, String)

지정된 텍스트와 값을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.

TreeNode(String, String, String)

지정된 텍스트, 값 및 이미지 URL을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.

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

지정된 텍스트, 값, 이미지 URL, 탐색 URL 및 대상을 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.

TreeNode(TreeView, Boolean)

지정된 소유자를 사용하여 TreeNode 클래스의 새 인스턴스를 초기화합니다.

속성

Checked

노드의 확인란이 선택 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.

ChildNodes

현재 노드의 첫째 수준 자식 노드가 들어 있는 TreeNodeCollection 컬렉션을 가져옵니다.

DataBound

노드가 데이터 바인딩을 통해 만들어졌는지 여부를 나타내는 값을 가져옵니다.

DataItem

컨트롤에 바인딩된 데이터 항목을 가져옵니다.

DataPath

노드에 바인딩된 데이터의 경로를 가져옵니다.

Depth

노드의 수준을 가져옵니다.

Expanded

노드가 확장 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.

ImageToolTip

노드 옆에 표시되는 이미지의 도구 설명 텍스트를 가져오거나 설정합니다.

ImageUrl

노드 옆에 표시되는 이미지의 URL을 가져오거나 설정합니다.

IsTrackingViewState

노드에서 해당 뷰 상태의 변경 내용을 저장하는지 여부를 나타내는 값을 가져옵니다.

NavigateUrl

노드를 클릭할 때 탐색할 URL을 가져오거나 설정합니다.

Parent

현재 노드의 부모 노드를 가져옵니다.

PopulateOnDemand

노드가 동적으로 채워지는지 여부를 나타내는 값을 가져오거나 설정합니다.

SelectAction

노드가 선택될 때 발생하는 이벤트를 가져오거나 설정합니다.

Selected

노드가 선택 상태인지 여부를 나타내는 값을 가져오거나 설정합니다.

ShowCheckBox

노드 옆에 확인란이 표시되는지 여부를 나타내는 값을 가져오거나 설정합니다.

Target

노드와 연결된 웹 페이지 콘텐츠를 표시할 대상 창 또는 프레임을 가져오거나 설정합니다.

Text

TreeView 컨트롤의 노드에 표시되는 텍스트를 가져오거나 설정합니다.

ToolTip

노드에 대한 도구 설명 텍스트를 가져오거나 설정합니다.

Value

포스트백 이벤트를 처리하는 데 사용되는 데이터와 같이 노드에 대한 추가 데이터를 저장하는 데 사용되며 표시되지는 않는 값을 가져오거나 설정합니다.

ValuePath

루트 노드에서 현재 노드까지의 경로를 가져옵니다.

메서드

Clone()

현재 TreeNode 인스턴스의 속성을 사용하여 TreeNode 클래스의 새 인스턴스를 만듭니다.

Collapse()

현재 트리 노드를 축소합니다.

CollapseAll()

현재 노드와 모든 자식 노드를 축소합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 확인합니다.

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

현재 트리 노드를 확장합니다.

ExpandAll()

현재 노드와 모든 자식 노드를 확장합니다.

GetHashCode()

기본 해시 함수로 작동합니다.

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

현재 인스턴스의 Type을 가져옵니다.

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

노드에 대해 이전에 저장된 뷰 상태를 로드합니다.

MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.

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

컨트롤 개발자가 노드에 렌더링을 추가할 수 있도록 합니다.

RenderPreText(HtmlTextWriter)

컨트롤 개발자가 노드에 렌더링을 추가할 수 있도록 합니다.

SaveViewState()

노드의 현재 뷰 상태를 저장합니다.

Select()

TreeView 컨트롤의 현재 노드를 선택합니다.

ToggleExpandState()

노드의 확장 상태와 축소 상태에서 전환합니다.

ToString()

현재 개체를 나타내는 문자열을 반환합니다.

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

노드의 뷰 상태 변경 내용에 대한 추적 및 저장을 시작할 위치를 표시합니다.

명시적 인터페이스 구현

ICloneable.Clone()

TreeNode 개체의 복사본을 만듭니다.

IStateManager.IsTrackingViewState

이 멤버에 대한 설명은 IsTrackingViewState를 참조하세요.

IStateManager.LoadViewState(Object)

노드의 이전에 저장된 뷰 상태를 로드합니다.

IStateManager.SaveViewState()

Object에 뷰 상태 변경 내용을 저장합니다.

IStateManager.TrackViewState()

TreeNode 개체에서 해당 뷰 상태의 변경 내용을 추적하도록 합니다.

적용 대상

추가 정보