Группировка предметов в Blazor без linq - PullRequest
0 голосов
/ 12 февраля 2020

Я бы хотел сгруппировать студентов по классам. Без необходимости группировать их, используя запрос linq каждый раз. Есть ли лучший способ сделать это в компонентах Blazor?

Я получаю список учеников с их оценками

public class StudentData
{       
    String Name {get; set;}
    String Grade {get; set;}    
}

List<StudentData> StudentsGrades = StudentService.GetAll();

Затем группирую их вместе, используя linq

IOrderedEnumerable<IGrouping<String, StudentData>> StudentGroupedGrades = 
from student in StudentsGrades
group student by student.Grades into groupedGrades
orderby groupedGrades.Key
select groupedGrades;

И перебираю сгруппированные оценки.

@foreach (var gradeGroup in StudentGroupedGrades)
{
    <div class="group">
        <h2>@gradeGroup.Key</h2>

        @foreach (var studentData in gradeGroup)
        {
            <div class="student"> 
                 <h4>@studentData.Name</h4>
            </div>
        }
    </div>
}

Результат показан

A 
Sam Hill
Jill Jones 
John Smith

B 
Ben Row
Steven Williams
ect...  
...