Computer Wiz99 Ответов: 2

Как настроить gridview для отображения данных в годах?


У меня есть Gridview, который показывает мои данные хорошо, но я хочу изменить представление Gridview. То что у меня есть это мой Gridview:

ID | имя | год | зачисление |
1001 Майка 2013 1500
1001 Майка 2014 1700
1001 Майк 2015 2500

То, что я пытаюсь сделать, это получить данные для отображения следующим образом:

Код | наименование | 2013 год | 2014 год | 2015 год |
1001 Майк 1500 1700 2500

Каков наилучший способ сделать это?

Что я уже пробовал:

Я пробовал Listview, Datalist и Detailsview.

2 Ответов

Рейтинг:
12

Kornfeld Eliyahu Peter

Вы должны играть не с GridView, а с данными!
Трансформация, которую вы описываете здесь, называется поворотом... Посмотрите его в связи с базой данных, которую вы используете...


Рейтинг:
10

Maciej Los

В зависимости от ситуации, есть два способа достичь этого:
1. На SQL сервере - через СТЕРЖЕНЬ[^]

SELECT ID, [Name], [2013], [2014], [2015]
FROM (
    SELECT  ID, [Name], [Year], Enroll
    FROM YourTable 
) AS SRC
PIVOT(MAX(Enroll) FOR [Year] IN ([2013], [2014], [2015])) AS PVT

Как им пользоваться? Видеть: Как создать и выполнить инструкцию SQL, возвращающую строки[^]

2. на уровне приложения - использование запроса Linq
Поворотный DataTable Упрощенный[^]
Функция C# LINQ Pivot () - отражение его[^]
Использование lambda или LINQ для сводных таблиц[^]