0
嘿所有, 我有一個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設定爲零,然後,在重新排序的基礎列表的一部分,設置VirtualListSize回其原始值(this.VirtualListSize = _myInnerList.Count)。
對於winforms的優化(和可排序)虛擬列表視圖,我找不到任何種類的令人滿意的代碼。
有人發佈了一個答案,在內部列表的排序操作之後調用Invalidate()。它的工作..但我想調用RedrawItems()會快得多,對吧? – programmer 2011-02-08 19:17:48