상세 컨텐츠

본문 제목

TreeView

C#

by happynuri 2008. 5. 28. 15:08

본문

*TreeView 컨트롤의 이벤트
 -TreeNodeCheckChanged:Checkbox를 지니고 있는 노드의 체크 상태가 변경될 때 발생.
 -SelectedNodeChanged:TreeView 컨트롤의 특정 노드를 선택하였을 경우에 발생.
 -TreeNodeExpanded:TreeView 컨트롤의 특정 노드에 있는 자식 노드들이 화면상에 펼쳐질
  때 발생.
 -TreeNodeCollapse:TreeView 컨트롤의 특정 노드의 자식 노드들이 접혀지면서 화면상에서
  사라질 때 발생.
 -TreeNodePopulate:동적으로 Node를 추가할 경우에 발생. PopulateOnDemand 속성 값이
  true여야 함.
 -TreeNodeDataBound:TreeView 컨트롤에 데이터가 바인딩될 때 발생.
 
 *TreeView 컨트롤의 스타일을 임의대로 설정 가능
 -ImageSet속성을 변경(ex. "XPFileExplorer")
 -TreeView 컨트롤에서 마우스 오른쪽 버튼을 클릭하여 팝업되는 메뉴에서 스타일창.


 *TreeView 컨트롤의 이벤트 2
 -TreeNode 컨트롤:˚NavigateUrl, Target.
                  ˚SelectAction속성:노드를 선택하였을 경우 발생하는 이벤트 제어
                    (Expand, None, Select, SelectExpand)
                    "+"노드들은 SelectAction 값을 Select로 해도 펼치기 위한 아이콘
                       이기때문에 TreeNodeExpanded이벤트가 발생
                  ˚Expanded속성:컨트롤이 화면에 출력될 때 접힌 상태.
                  ˚페이지가 로딩되는 시점에서 각각의 TreeNoed를 생성하면서
                    TreeNodeExpanded이벤트가 각각 발생
 -ShowCheckBoxes속성:노드들에 Checkbox 표시속성.
                     forcach(TreeNode node in TreeView1.checkedNodes)
 
 *XML 데이터 바인딩
 -XmlDataSource컨트롤 사용:XML파일을 읽어 오는 Provider.
 -Treeview 컨트롤의 DataSourceID에 XmlDataSource컨트롤의 ID를 등록.


*데이터베이스 테이블과 TreeView 컨트롤의 바인딩
 -PK/FK 바인딩:
  ˚DataSet에 두개 테이블의 데이타를 담는다. -adapter1.Fill(ds, "table1")
  ˚DataSet에 두개 테이블의 Relation정보를 넣는다. -ds.Relations.Add("relation1",
    ds.tables["talbe1"].Columns["column1"], ds.tables["talbe2"].Columns["column2"])
  ˚foreach(DataRow masterRow in ds.tables["table1"].Rows)
    { TreeNode masterNode 생성 후 TreeView1.nodes.Add(masterNode)}
  ˚foreach(DataRow childRow in masterRow.GetChildRow("relation1"))
    { masterNode.ChildNodes.Add(childNode)}
 -단일 테이블을 바인딩:
  ˚Datatable에 데이터를 받아온다.
  ˚new DataView(table) -> view.RowFilter = "column1=0"
  ˚foreach(DataRowView row in view)
    { node노드생성 -> TreeView1.Nodes.Add(node) -> node에 자식노드 추가 함수 호출}
  ˚같은방식으로 DataView이용하여 node에 자식 노드추가 함수.


출처:
http://dbdbdic.tistory.com/110

관련글 더보기

댓글 영역