Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ObjectListView的自定义排序_C#_Winforms_Objectlistview - Fatal编程技术网

C# ObjectListView的自定义排序

C# ObjectListView的自定义排序,c#,winforms,objectlistview,C#,Winforms,Objectlistview,有人能帮我吗?我正在尝试在objectlistview中对项目进行自定义排序。我发现了一个使用BeforeSorting事件的方法。项目已排序,但objectlistview显示“旧数据”。 objectlistview的项目源为_shows private void objectListView1_BeforeSorting(object sender, BeforeSortingEventArgs e) { _shows.OrderByDescending(s =&g

有人能帮我吗?我正在尝试在objectlistview中对项目进行自定义排序。我发现了一个使用BeforeSorting事件的方法。项目已排序,但objectlistview显示“旧数据”。 objectlistview的项目源为_shows

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()
post
ThenBy


发布本文后,我假设您将Datagridview与数据源重新绑定
\u shows
,因此将反映正确的值

这是一个愚蠢的错误,但仍然不起作用。我不知道如何“刷新”objectlistview或它的数据源。我假设数据源是上面正在排序的_shows。现在,您只需要在另一个事件中将相同的对象重新绑定到对象列表视图,类似于您最初绑定的方式。那个事件可以是一个简单的按钮点击,我不知道,我需要使用不同的事件。现在它开始工作了。非常感谢。