2016-04-07 50 views
0

有人可以幫助我嗎?我正在嘗試在objectlistview中自定義排序項目。我找到了一種使用BeforeSorting事件的方法。項目是排序的,但objectlistview顯示「舊數據」。 objectlistview的項目來源是_shows。自定義排序的ObjectListView

private void objectListView1_BeforeSorting(object sender, BeforeSortingEventArgs e) 
    { 
     _shows.OrderByDescending(s => s.Name != "News").ThenBy(s => s.Name); 
     e.Handled = true; 
    } 

謝謝!

回答

0

您沒有使用返回的有序集合,它應該是:

_shows = 
_shows.OrderByDescending(s => s.Name != "News").ThenBy(s => s.Name); 

這將導致IOrderedCollection,萬一_showsList,然後ToList()ThenBy

帖子這個我承擔你重新綁定數據源_shows Datagridview,因此正確的值將被反映

+0

這是一個愚蠢的錯誤,但仍然無法正常工作。我不知道如何「刷新」objectlistview或其數據源。 –

+0

我假設數據源是_shows,它正在上面進行排序。現在,您只需要將其重新綁定到另一個事件中的對象列表視圖,就像您最初綁定的方式一樣。該事件可以是一個簡單的按鈕點擊 –

+0

我不知道,我需要使用不同的事件。現在它正在工作。謝謝。 –