# TreeView 노드 

## Content

대부분의 경우, **TreeView** 는 데이터 바인딩과 선택 속성만으로 작업할 수 있으며, 트리에 바인딩된 원본 데이터 항목을 통해 처리할 수 있습니다.

## TreeNode

트리를 구성하는 실제 **TreeNode** 객체의 속성에 접근해야 하는 몇 가지 시나리오가 있습니다.

주어진 데이터 항목에 해당하는 TreeNode를 얻으려면 TreeView의 **getNode** 메서드를 호출하거나, nodes 속성을 사용하여 TreeView의 루트 노드 컬렉션을 얻을 수 있습니다.

노드를 얻은 후에는 해당 노드의 속성과 메서드를 사용하여 트리를 검사하거나 수정할 수 있습니다. 이 속성과 메서드에는 다음과 같은 것들이 있습니다:

* **dataItem**: 이 노드에 바인딩된 데이터 소스 항목을 가져옵니다.
* **element**: 이 노드를 나타내는 HTML 요소를 가져옵니다.
* **ensureVisible**:부모 노드를 확장하고 TreeView를 스크롤하여 해당 노드가 현재 보이도록 합니다.
* **select**: 노드를 선택하고 해당 노드가 보이도록 합니다.
* **parentNode**: 이 노드가 포함된 노드 컬렉션에서의 인덱스를 가져옵니다.
* **index**: 이 노드가 포함된 노드 컬렉션에서의 인덱스를 가져옵니다.
* **level**: 노드가 계층 구조에서 차지하는 레벨을 가져옵니다. 최상위 노드는 레벨 0을 가집니다.
* **nodes**: 노드의 자식 노드를 포함하는 배열을 가져옵니다.
* **previous**, **next**, **previousSibling**, **nextSibling**: 트리에서 인접한 노드에 대한 참조를 가져옵니다. 선택적으로 접힌 노드나 형제 노드를 제외할 수 있습니다.
* **isChecked**, **isCollapsed**, **isDisabled**: 노드의 상태를 변경하거나 상태 값을 가져옵니다.