© Tillypad 2008-2014
Данные отчета выводятся на дата-бендах (компоненты MasterData
, DetailData
SubdetailData
). В печатных представлениях отчетов и форматов печати программных модулей, по умолчанию, записи на дата-бендах выводятся в том порядке, который определен запросом. А в печатных представлениях форматов печати экранных форм - в том же порядке, что и в таблице элементов экранной формы.
При построении печатных представлений такой порядок не всегда удобен. Для вывода данных в соответствии с требованиями пользователя нужно выполнить дополнительные операции.
Дата-бенд позволяет выполнять следующие операции с данными потока:
Для выполнения этих операций требуется указать необходимые значения атрибутов дата-бенда. Перечень атрибутов, необходимых для выполнения каждой из операций, приведен в таблице.
Название операции |
Название атрибутов дата-бенда |
Тип вводимых данных |
---|---|---|
DataFileldOrder |
Строчный (список полей, разделенных запятыми) | |
DataFilter |
Строчный (выражение) | |
VisibleCondition |
Строчный (выражение) | |
DataFieldTreeKey DataFieldTreeParent |
Строчный (названия ключевого поля и поля родителя, соответственно) |
Для сортировки данных дата-бенда используется свойство FieldOrder. Для него нужно указать названия полей, по которым выполняется сортировка. Поля в списке разделяются запятыми. Для каждого из полей дополнительно можно указать порядок сортировки (по возрастанию или по убыванию). По умолчанию выполняется сортировка по возрастанию значений.
Фильтрация данных позволяет выводить в печатном представлении не все данные, содержащиеся в таблице элементов или полученные при выполнении запроса, а только те, которые удовлетворяют заданным условиям. Условие фильтрации должно соответствовать требованиям языка Transact-SQL.
Для фильтрации данных необходимо указать условие фильтрации в значении атрибута DataFilter.
Для фильтрации данных потока можно также использовать локальные SQL запросы. Для выполнения локального запроса необходимо создать новый обработчик событий или использовать ранее созданный. Для локального запроса необходимо использовать компонент TssFastReportDataSet
.
//Пример локального запроса для фильтрации данных TssFastReportDataSet(MasterData1.DataSet).LocalSQL := 'SELECT FROM Main WHERE <условие фильтрации>'
Управление видимостью данных, так же как и фильтрация, позволяет выводить в печатном представлении только те данные, которые удовлетворяют указанным пользователем условиям. В отличие от фильтрации, при управлении видимостью данных могут быть учтены и те данные, которые не выводятся в печатном представлении.
Для управления видимостью данных необходимо указать условие видимости в значении атрибута VisibleCondition.
С помощью атрибута
VisibleCondition можно связать дата-бенды MasterData
и DetailData
. Например, в дата-бенде MasterData
будут выводиться атрибуты актов списания, а в дата-бенде DetailData
- элементы спецификаций этих документов.
Отображение данных в виде древовидного списка используется при составлении некоторых отчетов.
Для правильного отображения древовидного списка требуется указать значения двух атрибутов: DataFieldTreeKey и DataFieldTreeParent. Для атрибута DataFieldTreeKey нужно указать название ключевого поля, а для атрибута DataFieldTreeParent – название поля родительского элемента. Для текстового объекта необходимо указать величину отступа от левой границы (атрибут TreeLevelMargin) и, при необходимости, текст, выводимый перед значением (атрибут TreeText).