Добавление матричных областей данных (конструктор отчетов Visual Studio)
Матрица представляет собой привязанный к данным элемент отчета, в котором данные организованы в столбцы и строки, пересекающиеся в определенных точках данных. Матрицы обеспечивают функциональность, подобную перекрестным и сводным таблицам. В отличие от таблицы, которая имеет статический набор столбцов, столбцы матрицы могут быть динамическими. Можно определять матрицы, которые содержат статические и динамические строки и столбцы.
![]() |
---|
Если экспортировать матричный отчет в приложение Excel, все столбцы и строки будут видимы в рабочем листе независимо от установленных свойств видимости. |
Создание матричной области данных
При первом создании матрицы в конструкторе отчетов она отображает четыре ячейки. Верхняя левая ячейка является угловой ячейкой. Угловую ячейку можно использовать для отображения метки матрицы или оставить ее пустой. Верхняя правая ячейка является заголовком столбца, который может содержать поле или выражение, в соответствии с которым будут сгруппированы данные. Нижняя левая ячейка является заголовком строки, который может также содержать поле или выражение, в соответствии с которым будут сгруппированы данные. Нижняя правая ячейка содержит статистическое выражение для подробных данных.
При выполнении отчета заголовки динамических столбцов расширяются вправо (или влево, если параметр матрицы Direction установлен в RTL) на столько столбцов, сколько имеется групп. Динамические строки расширяются по странице вниз. Данные, отображающиеся в ячейках сведений, являются статистическими выражениями, основанными на пересечениях столбцов и строк.
Создание, изменение и удаление матриц
Добавление матрицы
Откройте клиентский RDLC-файл в режиме графического конструктора.
В области элементов щелкните элемент Матрица.
Щелкните в области конструктора отчета.
Поместив матрицу на отчет, ее можно перемещать, указав на затененную рамку матрицы и перетащив ее на новое место. (Чтобы затененная рамка появилась, нужно щелкнуть где угодно в пустом месте матрицы.) Для удаления матрицы щелкните правой кнопкой мыши пустое место внутри нее и нажмите клавишу «Delete».
Привязка данных к матрице
После того как добавлена матрица, к ней можно добавить поля. Каждая ячейка матрицы по умолчанию содержит текстовое поле. Можно ввести любое выражение в любую ячейку, либо можно заменить элемент, содержащийся в ячейке, на другой (например, заменить текстовое поле в ячейке на изображение).
Для привязки данных к матрице нужно перетащить поле из окна Источники данных в ячейку матрицы. Если перетащить поле в одну из ячеек столбца матрицы, не имеющего заголовка (например, в строке подробной информации), то имя поля автоматически отобразится в заголовке столбца.
![]() |
---|
Если окно «Источники данных» не появляется, выберите в меню Данные пункт Показать источники данных. |
Каждая матрица в отчете связана с набором данных. Если отчет содержит единственный набор данных, матрица автоматически сопоставляется с этим набором данных, когда она помещается в отчет. Если отчет содержит несколько наборов данных, необходимо сопоставить матрицу с правильным набором данных.
Динамические столбцы и строки (группы)
К матрице по умолчанию можно добавлять дополнительные столбцы и строки для группирования данных по полям. Когда новый динамический столбец добавляется путем создания нового заголовка столбца или строки, новый заголовок вкладывается в исходный заголовок. При выполнении отчета новый заголовок повторяется внутри исходного заголовка. Например, вложенный динамический столбец или строка могут иметь заголовок, содержащий поле для региона, а внутри этого заголовка — другой заголовок, содержащий поле для города.
Добавлять динамические столбцы и строки можно перетаскиванием полей из списка полей в матрицу. При перетаскивании поля в матрицу, имеющую уже существующий заголовок столбца или строки, можно выбрать, куда поместить поле — внутрь или вне заголовка. Конструктор отчетов отображает полоску в верхней или нижней части существующего заголовка столбца либо слева или справа от существующего заголовка строки в зависимости от того, куда перетащено поле. Например, чтобы создать новый динамический столбец, содержащий уже существующий динамический столбец, необходимо перетащить поле в существующий заголовок столбца, расположить его таким образом, чтобы полоска отображалась у верхней границы ячейки заголовка, и отпустить поле.
Добавление динамического столбца или строки в матрицу
Перетащите поле из окна «Источники данных» в заголовок столбца или строки матрицы.
Повторите шаг 1 для добавления в матрицу нескольких динамических столбцов или строк.
Столбец или строка разбивается, и создается еще один динамический столбец или строка. Позиция нового столбца или строки зависит от того, с какой стороны поле было отпущено после перетаскивания. В случае столбца полоска отображается над существующей ячейкой или под ней. В случае строки полоска отображается слева или справа от существующей ячейки.
Статические столбцы и строки
Для отображения дополнительных подробных данных можно также добавлять статические строки и столбцы. При добавлении статического столбца или строки конструктор отчетов разделяет заголовок на две части, но вместо того, чтобы расположить один заголовок внутри другого, каждая ячейка сведений отображается рядом с заголовками, содержащими статическую метку. Например, статический столбец или строка может представлять собой группу из ячеек сведений, в одной из которых содержится поле для запланированного дохода, а в соседней — поле для фактического дохода.
Добавление к матрице статического столбца или строки
Щелкните правой кнопкой мыши ячейку данных или подробностей матрицы, а затем выберите пункт Добавить столбец или Добавить строку. Можно также перетащить поле из окна «Источники данных» на заполненную ячейку данных.
Чтобы добавить к матрице несколько статических столбцов или строк, повторите шаг 1 несколько раз.
Ячейка разбивается, образуя новый статический столбец или строку. Если столбец или строка добавляется перетаскиванием поля, конструктор отчетов показывает с одной стороны ячейки темную линию, обозначающую, где именно будет расположено поле, когда будет отпущена кнопка мыши.
Примечание.
Когда в матрице находится только один статический столбец или строка, ячейка не имеет заголовка. Если к матрице добавляется несколько статических столбцов или строк, для каждого из них создается статический заголовок.
Добавление подытогов
Для добавления в матрицу подытога добавьте подытог в отдельную группу внутри матрицы. Группы не имеют подытогов по умолчанию. Чтобы добавить подытог в группу, щелкните правой кнопкой мыши заголовок столбца или строки группы и выберите Подытог. В результате откроется новый заголовок для подытога. Управляющий элемент ReportViewer вычислит подытог для группы.
Отображение данных с любой стороны от заголовков строк
Заголовки строк необязательно должны располагаться по сторонам матрицы. Заголовки строк можно переместить между столбцами так, что столбцы данных будут располагаться перед заголовками строк. Чтобы сделать это, измените параметр матрицы GroupsBeforeRowHeaders. Этот параметр доступен в окне Свойства или на вкладке Общие диалогового окна Свойства матрицы. Значение этого параметра должно быть целым числом. Например, значение 2 отобразит две группы матричных данных перед столбцом, содержащим заголовки строк.
См. также
Понятия
Добавление областей данных в отчет (конструктор отчетов Visual Studio)
Определение макета отчета (конструктор отчетов Visual Studio)
Создание клиентских RDLC-файлов