Поделиться через


Группирование данных в отчете (конструктор отчетов Visual Studio)

Данные во всех областях данных (таблица, матрица и список) могут быть сгруппированы с помощью полей и выражений. Чтобы предоставить логические разделы данных внутри таблицы, можно использовать группы внутри таблицы. Кроме того, к верхнему или нижнему колонтитулу группы можно добавить подытоги и другие выражения. Группы отображаются в матрице в виде динамических столбцов или строк. Группы можно вложить в другие группы и добавить подытоги. Для предоставления отдельных групп в отчете можно использовать списки либо поместить списки внутрь списков для вложенных групп.

Задание свойств групп в областях данных

Области данных — это привязанные к данным элементы отчета, которые используются для отображения повторяющихся строк данных. В любой области данных можно устанавливать свойства групп, чтобы организовать представление данных.

Рекурсивные иерархии

Рекурсивная иерархия — это иерархия данных, в которой все связи типа «родители-потомки» представлены в данных. Например, организационная схема, отображающая связи менеджера и служащего, может быть создана с помощью рекурсивной иерархии. В такой иерархии таблица имела бы столбцы для идентификатора служащего и идентификатора менеджера. Идентификатор менеджера имел бы ссылку на идентификатор служащего, подчиненного другому служащему, что привело бы к отображению целой иерархии служащих.

Чтобы создать рекурсивную иерархию, необходимо установить определенные свойства для группы в области данных. Используйте поле, содержащее уникальный идентификатор (например, идентификатор служащего) как выражение группы, а затем используйте поле, содержащее идентификатор родительского элемента (например, идентификатор менеджера) в свойстве Parent. Группа, которая определена как рекурсивная иерархия (то есть группа, которая использует свойство Parent), может иметь только одно выражение группы.

Используйте следующие шаги, чтобы создать рекурсивную иерархию с помощью таблицы Employee базы данных AdventureWorks. В этом учебнике предполагается, что пользователь умеет создавать отчеты, наборы данных, запросы и таблицы. Дополнительные сведения об этих функциях см. в соответствующей документации.

  1. Создайте на основе базы данных AdventureWorks набор данных, возвращающий данные следующего запроса:

    SELECT FirstName, LastName, EmployeeID, ManagerID

  2. Добавьте в проект RDLC-файл определения клиентского отчета, а затем откройте отчет в режиме графического конструктора.

  3. Добавьте в макет отчета табличную область данных.

  4. В первой ячейке сведений таблицы введите следующее выражение:

    =Fields!FirstName.Value & " " & Fields!LastName.Value

  5. Щелкните правой кнопкой мыши угол таблицы и выберите пункт Свойства.

  6. На вкладке Группа выберите Группирование подробностей.

  7. На вкладке Общие в поле Выражение введите или выберите следующее выражение:

    =Fields!EmployeeID.Value

  8. В поле Родительская группа введите или выберите следующее выражение:

    =Fields!ManagerID.Value

Функция Level

Можно использовать функцию Level для дополнения текстового поля, чтобы выравнивать имена служащих на основе их уровней в иерархии. Чтобы сделать это в таблице приведенного выше примера, используйте следующее выражение для левого дополнения текстового поля в первой ячейке сведений:

=Convert.ToString(2 + (Level()*10)) & "pt"

Для всех свойств заполнения необходимо указать строку в формате nnxx, где nn является числом, а xx — единицей измерения. По умолчанию дополнение для текстового поля равно 2 пунктам. Приведенное выше выражение создает строку, в которой используется функция Level для увеличения размера дополнения на основе уровня. Например, строка с уровнем 1 приведет к дополнению 12 пунктов (2 + (1*10)), а строка с уровнем 3 — к дополнению 32 пунктов (2 + (3*10)).

Дополнительные сведения о функциях, доступных для использования, см. в разделе Встроенные функции для отчетов (конструктор отчетов Visual Studio).

См. также

Задачи

Как отфильтровать данные в отчете (конструктор отчетов Visual Studio)

Понятия

Использование выражений в отчете (конструктор отчетов Visual Studio)