Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.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# 如何将数据网格中的项目放入列表<;T>;还是其他的收藏品?_C#_Wpf_Sorting_Datagrid - Fatal编程技术网

C# 如何将数据网格中的项目放入列表<;T>;还是其他的收藏品?

C# 如何将数据网格中的项目放入列表<;T>;还是其他的收藏品?,c#,wpf,sorting,datagrid,C#,Wpf,Sorting,Datagrid,我有一个充满自定义对象的数据网格。这些对象有一个名为CurrentTime的DateTime属性 myObjs.OrderBy(x=>x.CurrentTime); 我想将最近CurrentTime的值输入到DateTime对象中。如何获得按CurrentTime排序的DataGrid项列表 大概是这样的: List<MyObject> myObjs = DataGrid.Items.ToList(); myObjs.SortBy(CurrentTime); DateTime

我有一个充满自定义对象的数据网格。这些对象有一个名为CurrentTime的DateTime属性

myObjs.OrderBy(x=>x.CurrentTime);
我想将最近CurrentTime的值输入到DateTime对象中。如何获得按CurrentTime排序的DataGrid项列表

大概是这样的:

List<MyObject> myObjs = DataGrid.Items.ToList();
myObjs.SortBy(CurrentTime);
DateTime latestTime = myObjs[0].CurrentTime;
List myObjs=DataGrid.Items.ToList();
myObjs.SortBy(当前时间);
DateTime latestTime=myObjs[0]。CurrentTime;

我想您正在寻找:

var list=DataGrid.Items.OfType().OrderBy(q=>q.CurrentTime.ToList();

yourType是具有名为CurrentTime的DateTime属性的对象类型。

我想您正在寻找:

myObjs.OrderBy(x=>x.CurrentTime);
var list=DataGrid.Items.OfType().OrderBy(q=>q.CurrentTime.ToList();
yourType是具有名为CurrentTime的DateTime属性的对象类型

myObjs.OrderBy(x=>x.CurrentTime);
使用OrderBy方法对集合进行排序


使用OrderBy方法对集合进行排序。

尝试使用以下表达式:

DateTime latestTime = DataGrid.Items
                              .OfType<MyObject>()
                              .OrderBy(x=>x.CurrentTime)
                              .First()
                              .CurrentTime;
DateTime latestTime=DataGrid.Items
第()类
.OrderBy(x=>x.CurrentTime)
.First()
.当前时间;

尝试使用以下表达式:

DateTime latestTime = DataGrid.Items
                              .OfType<MyObject>()
                              .OrderBy(x=>x.CurrentTime)
                              .First()
                              .CurrentTime;
DateTime latestTime=DataGrid.Items
第()类
.OrderBy(x=>x.CurrentTime)
.First()
.当前时间;
使用以下方法:

 var list = myObjs.OrderBy(x => x.CurrentTime).ToList();
使用以下命令:

 var list = myObjs.OrderBy(x => x.CurrentTime).ToList();

这几乎奏效了。您的代码将为我获取正确的MyObject,并从中获取CurrentTime。抱歉,我刚刚将最后一个操作(从对象获取所需属性)添加到此表达式。但我建议使用FirstOrDefault()而不是First(),因为如果DataGrid.items集合中没有项,则会出现异常。这几乎奏效了。您的代码将为我获取正确的MyObject,并从中获取CurrentTime。抱歉,我刚刚将最后一个操作(从对象获取所需属性)添加到此表达式。但我建议使用FirstOrDefault()而不是First(),因为如果DataGrid.items集合中没有项,则会出现异常。我不认为任何此类方法(OfType、OrderBy、ToList)都会增加条目数。不幸的是,我没有看到您的代码,也不能说是什么导致了这种行为。我建议您将这一行分成三行,并对其进行调试。所以,您可以在什么操作(DataGrid.Items,of type,OrderBy,ToList)之后发现金额不正确。请随时写更多的评论,我会尽力帮助你对不起,我试图快速删除我的评论。我有其他代码两次将项插入数据网格。我已经修好了。抱歉搞混了,没关系。祝你工作顺利=)我认为这些方法(OfType、OrderBy、ToList)都不会增加条目数。不幸的是,我没有看到您的代码,也不能说是什么导致了这种行为。我建议您将这一行分成三行,并对其进行调试。所以,您可以在什么操作(DataGrid.Items,of type,OrderBy,ToList)之后发现金额不正确。请随时写更多的评论,我会尽力帮助你对不起,我试图快速删除我的评论。我有其他代码两次将项插入数据网格。我已经修好了。抱歉搞混了,没关系。祝你工作顺利=)