我有这个类(class):
public enum KindOfPerson
{
Student, Teacher, ...
}
public class Person
{
// This contains only numbers between 0 and 1
public double ScorePercent { get; set; }
public KindOfPerson Type { get; set; }
}
我有一个人员列表,然后我应用此 LINQ 函数获取另一个按 KindOfPerson 分类的列表,并计算属于该 KindOfPerson 的所有人员的平均分数:
var groupedLists = peopleList.GroupBy(person => person.Type)
.OrderBy(group => group.Key)
.Select(group => new {
People = group.ToList(),
AverageScore = group.Average(p => p.ScorePercent)
})
.ToList();
我想在 DataGrid 中显示此列表,但我不知道该怎么做。
我正在尝试这样做:
[数据网格]
学生平均分:XXX
得分百分比 1
得分百分比 2
教师平均分:YYY
得分百分比 1
得分百分比 2
类似这样的事情,聚集在一起。
更新
我认为这段代码可以帮助我们:http://leeontech.wordpress.com/2010/02/01/summary-row-in-datagrid/
最佳答案
Here您可以找到有关如何使用 DataGrid 进行分组的示例。 Here是有关如何实现分组的另一个链接。
原则上,它的完成方式与所有可分组的 WPF 控件类似。但请注意,如果您使用分组功能,DataGrid 将失去 UI 虚拟化的功能。因此它一般不是 使用分组数据创建巨大的列表是个好主意。
对于模型,我建议您创建一个用于每个订单项的 View 模型。该虚拟机提供所有必需的属性,例如 ScorePercent1、ScorePercent2 以及分组标题。
关于c# - 如何在DataGrid中显示分组数据? - 摘要行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6998776/