2012년 9월 20일 목요일

ListView VirtualMode


Virtual ListView?! ListView에 많은 데이터를 출력하게 되면 스크롤 시 데이터 출력이 느려진다. 이것을 보완하기 위한게 VirtualListView 인데 이건 MFC때도 있던 개념이다.


Settings

VirtualMode 속성값을 true로 설정하여 ListView가 가상 모드로 사용할 것임을 알린다.
VirtualListSize 값을 가상 모드에 사용할 데이터 개수로 설정한다. VirtualListSize 값이 0 보다 크면 RetrieveVirtualItem 이벤트 핸들러를 정의해야 한다. 이 이벤트 핸들러에서 ListViewItem 객체를 생성하여 ListView에 추가한다.

- VirtualMode = true
- VirtualListSize에 가상 모드 목록에 사용되는 ListViewItem 개수 설정
- RetrieveVirtualItem 이벤트 핸들러 정의


Remarks

- Items, CheckedItems, SelectedItems 프로퍼티를 사용하면 안된다. (InvalidOperationException 예외 발생)
  CheckedItems -> CheckedIndices
  SelectedItems -> SelectedIndices
- ListView에 요청이 있을때 마다 발생하는 RetrieveVirtualItem 이벤트에 대한 핸들러 정의.
- VirtualListSize 지정 후 RetrieveVirtualItem 이벤트 핸들러를 정의하지 않았을 경우





참조

ListView.VirtualMode Property - MSDN
Virtual Mode ListView - Code Project
Slow ListView? – Virtual ListView! - Alois Kraus

@

댓글 없음:

댓글 쓰기