Пожалуйста, у меня есть проект, который я запрашиваю в базе данных, используя сущность framework как мой ORM. Это мой запросКак создать виртуальный столбец в gridview на основе конкретных столбцов gridview
Dim subjectSearch = From subSearch In DemoSchool.EssenceSubjectRegistrations Where subSearch.Session = drpSession.SelectedItem.Text _
AndAlso subSearch.Term = drpTerm.SelectedItem.Text AndAlso subSearch.RealClass.ClassSN = findClassSN.FirstOrDefault AndAlso _
subSearch.SubjectCode = drpSubject.SelectedValue _
Select New With {.SubjectRegSN = subSearch.SubjectRegSN,
.FirstName = subSearch.Student.FirstName,
.Surname = subSearch.Student.Surname,
.CA1 = subSearch.CA1,
.CA2 = subSearch.CA2,
.CA3 = subSearch.CA3,
.CA4 = subSearch.CA4,
.CA5 = subSearch.CA5}
Тогда я запросить мой результат, так что я могу быть в состоянии сделать некоторые операции на нем, делая это
Dim secSubjectSearch = (From jamie In subjectSearch Select jamie).ToList() _
.Select(Function(jamie) New With {.SubjectRegSN = jamie.SubjectRegSN,
.FirstName = jamie.FirstName,
.Surname = jamie.Surname,
.CA1 = jamie.CA1,
.CA2 = jamie.CA2,
.CA3 = jamie.CA3,
.CA4 = jamie.CA4,
.CA5 = jamie.CA5,
.MidTerm = CDbl(jamie.CA1 + jamie.CA2 + jamie.CA3 + jamie.CA4 + jamie.CA5)/5})
Результат второго запроса ограничена в GridView, который правильно отображается, как предполагается. Моя проблема в том, что я хочу создать виртуальный столбец под названием Rank на gridview после ограниченного столбца .MidTerm, который отобразит позицию каждой записи человека в результатах поиска.
NAME CA1 CA2 CA3 CA4 CA5 MIDTERM RANK
James 50 50 60 40 60 52 3
Essty 100 50 50 50 50 60 2
Markus 100 40 50 60 50 60 2
Code 100 100 100 100 50 90 1
Выше представлен формат столбцов сетки. Я хочу, чтобы столбец Ранг был виртуальным столбцом, который вычисляется на основе среднего критерия студентов. Код VB набрал 90, чтобы его рейтинг равнялся 1 и так далее. Пожалуйста, я не знаю, как вычислить этот столбец рангов и код чтобы получить наивысший и самый маленький. Мне очень нужна помощь благодаря
работал как шарм. Пожалуйста, объясните мне, почему ваш код работал, чтобы я мог учиться. Спасибо –
Ничего сложного - просто сохраните все отдельные значения MidTerm в списке с убывающим порядком, а затем для каждого ученика найдите правильный RANK - найдите индекс MidTerm в отсортированном списке, а затем плюс один. конечно, у нас должен быть местозаполнитель для этой информации RANK: чтобы сделать это, просто поместите свойство RANK со значением по умолчанию -1 (значение не имеет значения, поскольку вы обновите его позже) – Rex