C# ObjectListView的自定义排序
有人能帮我吗?我正在尝试在objectlistview中对项目进行自定义排序。我发现了一个使用BeforeSorting事件的方法。项目已排序,但objectlistview显示“旧数据”。 objectlistview的项目源为_showsC# ObjectListView的自定义排序,c#,winforms,objectlistview,C#,Winforms,Objectlistview,有人能帮我吗?我正在尝试在objectlistview中对项目进行自定义排序。我发现了一个使用BeforeSorting事件的方法。项目已排序,但objectlistview显示“旧数据”。 objectlistview的项目源为_shows private void objectListView1_BeforeSorting(object sender, BeforeSortingEventArgs e) { _shows.OrderByDescending(s =&g
private void objectListView1_BeforeSorting(object sender, BeforeSortingEventArgs e)
{
_shows.OrderByDescending(s => s.Name != "News").ThenBy(s => s.Name);
e.Handled = true;
}
谢谢 您没有使用返回的排序集合,它应该是:
_shows =
_shows.OrderByDescending(s => s.Name != "News").ThenBy(s => s.Name);
这将导致IOrderedCollection
,如果\u显示是列表
,则转到ToList()
postThenBy
发布本文后,我假设您将Datagridview与数据源重新绑定\u shows
,因此将反映正确的值这是一个愚蠢的错误,但仍然不起作用。我不知道如何“刷新”objectlistview或它的数据源。我假设数据源是上面正在排序的_shows。现在,您只需要在另一个事件中将相同的对象重新绑定到对象列表视图,类似于您最初绑定的方式。那个事件可以是一个简单的按钮点击,我不知道,我需要使用不同的事件。现在它开始工作了。非常感谢。