2016-04-07 5 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は、この私が想定しToList()ポストに、その後、ThenBy

ポストListである場合には、IOrderedCollectionになります

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

Datagridviewをデータソース_showsで再バインドして、正しい値が反映されるようにしてください。

+0

これは愚かな間違いでしたが、まだ動作していません。私はobjectlistviewまたはそのデータソースを "リフレッシュ"する方法を知らない。 –

+0

データソースが上記のソートを行っている_showsであると仮定しています。これで、最初にバインドした方法と同様に、別のイベントのオブジェクトリストビューに同じものを再度バインドするだけで済みます。そのイベントは、単純なボタンをクリックすることができます –

+0

私は、私は別のイベントを使用する必要があるかわからなかった。今それは働いている。ありがとうございました。 –