TreeNodeBinding 클래스

정의

TreeView 컨트롤에서 데이터 항목과 데이터 항목이 바인딩되는 노드 간의 관계를 정의합니다.

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

예제

다음 표에서 몇 가지 예제 트리 노드 바인딩을 선언을 보여 줍니다.

바인딩 예제 Description
<asp:TreeNodeBinding TextField="Title" ValueField= "ID"/> 바인딩합니다를 TextValue 트리에서 모든 노드의 속성을 TitleID 각각의 필드 데이터의 원본입니다. 때문에 모든 노드에서 사용이 트리 노드 바인딩을 선언 합니다 DataMemberDepth 속성이 설정 되지 않습니다.
<asp:TreeNodeBinding DataMember= "Book" TextField= "Title" ValueField= "ID"/> 바인딩합니다를 TextValue 트리에서 모든 노드 속성을 TitleID 의 필드를 Book 각각 데이터 원본에서 데이터 항목입니다.
<asp:TreeNodeBinding Depth="2" TextField= "Title" ValueField= "ID"/> 바인딩하는 TextValue 수준이 트리에서 2 사용 하 여 모든 노드의 속성을 TitleID 각각 데이터의 필드 데이터 소스의 항목.
<asp:TreeNodeBinding DataMember="Book" Depth= "2" TextField= "Title" ValueField= "ID" ImageUrl= "Image.jpg"> 바인딩합니다를 TextValue 2 트리에서 깊이 사용 하 여 모든 노드의 속성을 TitleID 의 필드는 Book 각각 데이터 원본에서 데이터 항목입니다. 또한 바인딩하는 ImageUrl 정적 값으로 노드의 속성.

이 섹션에는 세 가지 코드 예제가 있습니다. 첫 번째 코드 예제에 사용 하는 방법을 보여 줍니다. TreeNodeBinding 선언적으로 데이터 항목에는 노드 간의 관계를 정의 하는 개체입니다. 두 번째 코드 예제에 사용 하는 방법을 보여 줍니다. TreeNodeBinding 프로그래밍 방식으로 데이터 항목에는 노드 간의 관계를 정의 하는 개체입니다. 세 번째 코드 예제에서는 첫 번째 및 두 번째 코드 예제에 대 한 샘플 XML 데이터를 제공합니다.

다음 코드 예제에 사용 하는 방법을 보여 줍니다. TreeNodeBinding 선언적으로 데이터 항목에는 노드 간의 관계를 정의 하는 개체입니다. 이 예제가 제대로 작동 하려면에 대 한 Book.xml 라는 파일에이 코드 예제에서는 뒤에 제공 된 샘플 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>

다음 코드 예제에 사용 하는 방법을 보여 줍니다. TreeNodeBinding 프로그래밍 방식으로 데이터 항목에는 노드 간의 관계를 정의 하는 개체입니다. 이 예제가 제대로 작동 하려면에 대 한 Book.xml 라는 파일에 다음 코드 예제에서 제공 되는 샘플 XML 데이터를 복사 해야 합니다.


<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  void Page_Load(Object sender, EventArgs e)
  {

    // Create a new TreeView control.
    TreeView NewTree = new TreeView();

    // Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView";
    NewTree.DataSourceID = "BookXmlDataSource";

    // Create the tree node binding relationship.

    // Create the root node binding.
    TreeNodeBinding RootBinding = new TreeNodeBinding();
    RootBinding.DataMember = "Book";
    RootBinding.TextField = "Title";

    // Create the parent node binding.
    TreeNodeBinding ParentBinding = new TreeNodeBinding();
    ParentBinding.DataMember = "Chapter";
    ParentBinding.TextField = "Heading";

    // Create the leaf node binding.
    TreeNodeBinding LeafBinding = new TreeNodeBinding();
    LeafBinding.DataMember = "Section";
    LeafBinding.TextField = "Heading";

    // Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding);
    NewTree.DataBindings.Add(ParentBinding); 
    NewTree.DataBindings.Add(LeafBinding);

    // Manually register the event handler for the SelectedNodeChanged event.
    NewTree.SelectedNodeChanged += new EventHandler(this.Node_Change);

    // Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree);

  }

  void Node_Change(Object sender, EventArgs e)
  {

    // Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    TreeView LocalTree = (TreeView)ControlPlaceHolder.FindControl("BookTreeView");

    // Display the selected node.
    Message.Text = "You selected: " + LocalTree.SelectedNode.Text;

  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" 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">
<script runat="server">

  Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

    ' Create a new TreeView control.
    Dim NewTree As New TreeView

    ' Set the properties of the TreeView control.
    NewTree.ID = "BookTreeView"
    NewTree.DataSourceID = "BookXmlDataSource"

    ' Create the tree node binding relationship.

    ' Create the root node binding.
    Dim RootBinding As New TreeNodeBinding
    RootBinding.DataMember = "Book"
    RootBinding.TextField = "Title"

    ' Create the parent node binding.
    Dim ParentBinding As New TreeNodeBinding
    ParentBinding.DataMember = "Chapter"
    ParentBinding.TextField = "Heading"

    ' Create the leaf node binding.
    Dim LeafBinding As New TreeNodeBinding
    LeafBinding.DataMember = "Section"
    LeafBinding.TextField = "Heading"

    ' Add bindings to the DataBindings collection.
    NewTree.DataBindings.Add(RootBinding)
    NewTree.DataBindings.Add(ParentBinding)
    NewTree.DataBindings.Add(LeafBinding)

    ' Manually register the event handler for the SelectedNodeChanged event.
    AddHandler NewTree.SelectedNodeChanged, AddressOf Node_Change

    ' Add the TreeView control to the Controls collection of the PlaceHolder control.
    ControlPlaceHolder.Controls.Add(NewTree)

  End Sub

  Sub Node_Change(ByVal sender As Object, ByVal e As EventArgs)

    ' Retrieve the TreeView control from the Controls collection of the PlaceHolder control.
    Dim LocalTree As TreeView = CType(ControlPlaceHolder.FindControl("BookTreeView"), TreeView)

    ' Display the selected node.
    Message.Text = "You selected: " & LocalTree.SelectedNode.Text

  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TreeView Constructor Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>TreeView Constructor Example</h3>
      
      <asp:PlaceHolder id="ControlPlaceHolder" runat="server">
      </asp:PlaceHolder>
   
      <asp:XmlDataSource id="BookXmlDataSource"  
        DataFile="Book.xml"
        runat="server">
      </asp:XmlDataSource>
      
      <br /><br />
      
      <asp:Label id="Message" runat="server"/>
    
    </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 컨트롤이 바인딩된 노드를 각 데이터 항목 여러 필드 (예: 몇 가지 특성을 사용 하 여 XML 요소)에 포함 된 데이터 원본에 의해 반환 되는 값을 표시 합니다 ToString 기본적으로 데이터 항목의 메서드. XML 요소가 아닌 경우 노드 트리에서의 기본 구조를 보여주지만 그렇지 않은 경우에 그다지 유용 하지는 요소 이름을 표시 합니다. 트리 노드 바인딩을 지정 하 여 노드의 속성을 특정 필드에 바인딩할 수 있습니다. TreeNodeBinding 개체는 각 데이터 항목에 바인딩된 노드 간의 관계를 정의 합니다.

TreeView 저장소를 제어 합니다. 해당 TreeNodeBinding 개체는 DataBindings 속성 트리 계층 구조와 데이터 원본 계층 구조 간에 한 일 관계를 만들려면 데이터 원본에 바인딩을 적용 합니다. 데이터 소스의 각 데이터 항목에 대 한 합니다 TreeView 제어 데이터 항목을 일치 시 키 려는 TreeNodeBinding 해당 만들려면 개체 TreeNode 개체입니다.

만들 때를 TreeNodeBinding 개체 바인딩에 대 한 조건을 지정 해야 합니다. 기준은 데이터 항목 노드에 바인딩할 때를 나타냅니다. 지정할 수 있습니다 합니다 Depth 또는 DataMember 속성 또는 두 속성입니다. 둘 다 지정 하 여 성능이 약간 향상이 있습니다. 노드 수준에 바인딩되는 노드 수준을 지정 합니다. 예를 들어, 다음 TreeNodeBinding 선언 바인딩합니다 합니다 Name 하 고 ID 데이터 원본의 필드를 TextValue 속성을 각각 깊이가 0 사용 하 여 모든 노드의:

<asp:TreeNodeBinding Depth="0" TextField="Name" ValueField="ID">  

데이터 멤버를 데이터 원본에서 데이터 항목의 형식을 지정 하지만 데이터 원본에 따라 다른 정보를 나타낼 수 있습니다. 계층적 데이터 소스에서 각 데이터 항목 (나타내는 System.Web.UI.IHierarchyData 인터페이스) 표시를 IHierarchyData.Type 데이터 항목의 형식을 지정 하는 속성입니다. 예를 들어, XML 요소에 대 한 데이터 멤버 요소의 이름을 지정합니다. 여러 데이터 항목 형식에 포함 되어 있으면 데이터 원본 데이터 멤버는 데이터를 지정 하는 항목 유형을 사용 하도록 합니다. 다음 TreeNodeBinding 선언 바인딩합니다 합니다 <Book> 의 요소는 XmlDataSource 컨트롤 계층의 위치에 관계 없이 트리에서 모든 노드:

<asp:TreeNodeBinding DataMember="Book" TextField="Title" ValueField= "ISBN">  

바인딩 기준에 설정 되 면을 바인딩할 수 있습니다의 속성을 TreeNode 값에 바인딩할 수 있는 개체입니다. 정적 값 또는 데이터 항목의 필드에 바인딩할 수 있습니다. 정적 값으로 바인딩된 경우 모든 TreeNode 는 개체는 TreeNodeBinding 개체가 적용 된 동일한 값을 공유 합니다.

참고

바인딩된 속성을 선택적으로 재정의할 수는 TreeNode 노드에서 직접 해당 속성을 설정 하 여 개체입니다.

다음 테이블의 속성을 나열 합니다 TreeNodeBinding 클래스의 속성을 바인딩할 수 있도록 하는 TreeNode 데이터 항목의 필드에는 개체.

속성 설명
ImageUrlField 바인딩할 필드를 ImageUrl 의 속성을 TreeNode 개체입니다.
ImageToolTipField 바인딩할 필드를 ImageToolTip 의 속성을 TreeNode 개체입니다.
NavigateUrlField 바인딩할 필드를 NavigateUrl 의 속성을 TreeNode 개체입니다.
TextField 바인딩할 필드를 Text 의 속성을 TreeNode 개체입니다.
ToolTipField 바인딩할 필드를 ToolTip 의 속성을 TreeNode 개체입니다.
ValueField 바인딩할 필드를 Value 의 속성을 TreeNode 개체입니다.

다음 테이블의 속성을 나열 합니다 TreeNodeBinding 클래스의 속성을 바인딩할 수 있도록 하는 TreeNode 개체를 정적 값입니다.

속성 설명
ImageUrl 바인딩할 정적 값을 ImageUrl 의 속성을 TreeNode 개체입니다.
ImageToolTip 바인딩할 정적 값을 ImageToolTip 의 속성을 TreeNode 개체입니다.
NavigateUrl 바인딩할 정적 값을 NavigateUrl 의 속성을 TreeNode 개체입니다.
PopulateOnDemand 바인딩할 정적 값을 PopulateOnDemand 의 속성을 TreeNode 개체입니다.
SelectAction 바인딩할 정적 값을 SelectAction 의 속성을 TreeNode 개체입니다.
ShowCheckBox 바인딩할 정적 값을 ShowCheckBox 의 속성을 TreeNode 개체입니다.
Target 바인딩할 정적 값을 Target 의 속성을 TreeNode 개체입니다.
Text 바인딩할 정적 값을 Text 의 속성을 TreeNode 개체입니다.
ToolTip 바인딩할 정적 값을 ToolTip 의 속성을 TreeNode 개체입니다.
Value 바인딩할 정적 값을 Value 의 속성을 TreeNode 개체입니다.

충돌 하는 경우 TreeNodeBinding 개체가 정의 되는 TreeView 컨트롤 트리 노드 바인딩을 우선 순위 순서로 적용 됩니다.

  1. TreeNodeBinding 정의 하 고 수준과 데이터 멤버를 둘 다 일치 하는 개체입니다.

  2. TreeNodeBinding 정의 하 고 데이터 멤버를 사용할 경우에 일치 하는 개체입니다.

  3. TreeNodeBinding 정의 하 고만 일치 하는 개체입니다.

  4. TreeNodeBinding 깊이 아니고 데이터 멤버를 정의 하는 개체입니다. (이러한 유형의 트리 노드 바인딩 트리의 모든 노드에 적용 됩니다.)

  5. TreeNodeBinding 데이터 소스의 일치 하는 항목이 없는 개체입니다. 반환 되는 값이 경우는 ToString 메서드의 데이터 항목을 바인딩할를 TextValue 하려는 노드의 속성을 TreeNodeBinding 개체가 적용 된.

합니다 TreeNodeBinding 설정 하 여 노드에 표시 되는 텍스트의 서식을 지정 하는 클래스도 허용 합니다 FormatString 속성입니다.

생성자

TreeNodeBinding()

TreeNodeBinding 클래스의 새 인스턴스를 초기화합니다.

속성

DataMember

트리 노드 바인딩을 적용할지 여부를 확인하기 위해 데이터 항목의 Type 속성에 대해 일치시킬 값을 가져오거나 설정합니다.

Depth

TreeNodeBinding 개체가 적용되는 노드 수준을 가져오거나 설정합니다.

FormatString

TreeNodeBinding 개체가 적용되는 노드 텍스트의 표시 형식을 지정하는 문자열을 가져오거나 설정합니다.

ImageToolTip

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

ImageToolTipField

ImageToolTip 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

ImageUrl

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

ImageUrlField

ImageUrl 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

NavigateUrl

TreeNodeBinding 개체가 적용된 노드를 클릭할 때 링크할 URL을 가져오거나 설정합니다.

NavigateUrlField

NavigateUrl 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

PopulateOnDemand

TreeNodeBinding 개체가 적용된 노드를 동적으로 채울 것인지 여부를 나타내는 값을 가져오거나 설정합니다.

SelectAction

TreeNodeBinding 개체가 적용된 노드를 선택할 때 발생할 이벤트를 가져오거나 설정합니다.

ShowCheckBox

TreeNodeBinding 개체가 적용된 노드 옆에 확인란을 표시할지 여부를 나타내는 값을 가져오거나 설정합니다.

Target

TreeNodeBinding 개체가 적용된 노드에 연결된 웹 페이지 콘텐츠를 표시할 대상 창이나 프레임을 가져오거나 설정합니다.

TargetField

Target 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

Text

TreeNodeBinding 개체가 적용된 노드에 표시되는 텍스트를 가져오거나 설정합니다.

TextField

Text 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

ToolTip

TreeNodeBinding 개체가 적용된 노드의 도구 설명 텍스트를 가져오거나 설정합니다.

ToolTipField

ToolTip 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

Value

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

ValueField

Value 개체가 적용된 TreeNode 개체의 TreeNodeBinding 속성에 바운딩하기 위해 데이터 소스 필드의 이름을 가져오거나 설정합니다.

메서드

Equals(Object)

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

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

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

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

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

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

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

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

DataMember 속성을 반환합니다.

명시적 인터페이스 구현

ICloneable.Clone()

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

IDataSourceViewSchemaAccessor.DataSourceViewSchema

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

IStateManager.IsTrackingViewState

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

IStateManager.LoadViewState(Object)

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

IStateManager.SaveViewState()

개체의 뷰 상태에 대한 변경 내용을 저장합니다.

IStateManager.TrackViewState()

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

적용 대상

추가 정보