안녕하세요 모두 나는 winforms 가상화 Listview 내가 할 수있게하고 싶습니다. IComparer에서 파생되는 분류기 클래스를 구현했습니다. 이제 난 내 목록보기를 정렬 할 때마다 나는 다음을 수행하십시오winforms에 대한 가상 목록보기 정렬
public void SortMyVirtualListView()
{
this.VirtualListSize = 0; // set virtual size to 0
_myInnerList.Sort(_myComparer); // sort the inner listlistview items source)
this.VirtualListSize = _myInnerList.Count; // re-set the virtual size to items count
}
내가 뭘 있는지 확인하려면 - 이것은 당신이 일종의 후 가상 목록보기 항목을 재설정하는 방법을 정말? 가상 목록 크기를 0으로 설정하고 새 크기로 다시 설정해야합니까? 난 기본 목록을 재 분류 후에, 다음 제로로 VirtualListSize 설정 약 일부를 생략 할 수없는 것처럼
그것은 보인다 (this.VirtualListSize = _myInnerList.Count) 원래 값 VirtualListSize 세트.
winforms의 최적화 된 (및 정렬 가능) 가상 목록보기에 대한 만족스러운 코드를 찾을 수 없습니다.
누군가가 내부 목록의 정렬 작업 후 Invalidate()를 호출하는 응답을 게시했습니다. 그것은 작동하지만 .. RedrawItems() 호출 훨씬 빠를 것 같아요, 맞죠? – programmer
최대 투표 수입니다. Refresh() – Eugen