2016-04-07 51 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

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