Fastreport 1 в поле с именем memo11 вывести текущую дату красным цветом

Как редактировать отчет в режиме предварительного просмотра в Fast Report VCL 6

Какие объекты можно редактировать? Конечно, чаще всего нам приходится редактировать текст, поэтому объект «Text» первый в списке.

Как уже упоминалось выше, объект «Chart». Если в объекте предусмотрено более одной серии, вы можете выбрать какую серию отображать в данный момент.

Объект «CheckBox». Если ваш отчет представляет собой анкету, вы можете отметить нужные пункты «галочками», заполнить текстовые поля и отправить документ по email.

Объекты «Gauge» и «Interval Gauge» позволяют задавать значения, которые могут быть использованы в отчете.

Редактирование объекта Text

Есть два способа редактирования текстовых объектов в режиме предварительного просмотра:

1) Зажать клавишу Alt и кликнуть по объекту Text. При этом текст внутри объекта будет выделен. Изменив текст кликаем по области вне объекта. Изменения применены;

Используя этот способ помните, что как только вы уберете указатель мыши с этого текстового объекта, редактирование будет завершено.

2) На панели инструментов просмотрщика отчетов появился новый значок — редактировать текст. Нажимаем его и все текстовые объекты на странице, которые можно редактировать подсвечиваются голубым:

Кликнув по нужному изменяем текст. Для завершения редактирования также уводим мышь с редактируемого объекта.

Предусмотрена возможность запрета редактирования текста. Для этого у объекта «Text» в свойстве Restrictions выставляем флаг DontEditInPreview. При включенном режиме редактирования текста можно увидеть какие из текстовых объектов доступны для редактирования.

Редактирование объекта Chart

Диаграмму можно вращать, переключать серии, переключать режим 2D/3D, вернуть трансформацию к начальному виду.

На данном примере мы видим, что доступно 5 серий. По умолчанию все серии отображаются. Однако это не всегда удобно. Поэтому, чтобы включить переключатели в режим Radio Button, нужно на этапе создания отчета отключить все переключатели, оставив активным только один:

Это можно сделать мышью в том же окошке выбора серии вверху-справа.

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

Вращение диаграммы осуществляется с помощью зажатой левой кнопкой мыши:

Вот так у меня получилось зеркально развернуть диаграмму:

Если сейчас нажать на значок , то диаграмма вернется к первоначальному значению (правда в режиме 2D). Повторное нажатие опять покажет вашу трансформацию.

Редактирование объектов Gauge и Interval Gauge

Это два новых объекта в Fast Report VCL. Они представляют собой шкалы с индикаторами, имитирующие аналоговые электронные приборы. Разница между объектами понятна из названия: Gauge отображает одиночное значение, а Interval Gauge – значение от и до, то есть интервал.

Читайте также:  Тузова мотивация университет имени витте

Для обоих объектов есть три вида: горизонтальный, вертикальный и круговой. Вот как это выглядит:

Как видите указатели на шкалах могут иметь разную форму, размер и цвет. Сами шкалы также имеют множество настроек.

Но вернемся к теме статьи. Объекты Gauge тоже можно редактировать в режиме Preview. Само по себе перемещение индикаторов было бы не очень интересно без возможности использовать новые значения объекта в отчете. Сделать это можно с помощью скрипта отчета. Например, мы хотим отображать текущее значение индикатора в текстовом поле. Для индикатора добавляем событие OnContentChanged:

Запускаем отчет в режиме предварительного просмотра. Перемещая ползунок, мы получаем текущее значение индикатора в текстовом поле внизу.

Таким образом, полученное значение можно задействовать в расчетах, фильтрации и запросе данных. А это превращает отчет в нечто гораздо большее чем просто интерактивный документ.

Подведем итоги. Возможность редактировать отчет в режиме предварительного просмотра, позволяет нам создавать отчеты, которые можно настраивать без перестроения. Редактирование в preview отличается простотой, а значит доступно широкому кругу пользователей. От них не требуется опыт работы в дизайнере отчетов.

Источник

Как выводить итоги группировки в заголовке в FastReport VCL 6

Одна из новых возможностей, которая появилась в FastReport VCL 6 – возможность выводить итоги группировки в заголовочных бэндах. Ранее вы могли выводить итоги только после группировки. Если группа достаточно большая, приходится прокручивать ее вниз, чтобы узнать итог. Гораздо удобнее выводить итог в заголовке группы.

Давайте рассмотрим особенности использования итогов в заголовочных бендах. В начале немного теории о том, как это работает.

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

Есть ряд условий, которые обязательно нужно соблюсти для успешного отображения итога в заголовочном бэнде:

Рассмотрим новое свойство объекта «Текст». Свойство Processing позволяет определить событие, по которому будет выведено значение в этом объекте. На самом деле Processing включает в себя 2 свойства – GroupLevel и ProcessAt. GroupLevel дает возможность установить уровень вложенности групп. Это сделано на случай, если вы используете несколько вложенных группировок. Таким образом вы можете в каждой группе выводить свои итоги в заголовке.

ProcessAt содержит список событий, по которым можно начать обработку поля. Вот возможные значения:

Читайте также:  История мгту имени баумана

Например, вы выбрали формирование итога по завершении группы. Чтобы узнать, что группа закрылась, FR требуется подвал группы. Если выбрали событие завершения страницы, то необходим бэнд подвала страницы.

Теперь рассмотрим все вышеописанное на практике. Нам нужно создать отчет с двумя группами. Одна вложена в другую. Возьмем таблицу Sales из демонстрационной базы данных.

Теперь для первого задаем свойства: GroupLevel – 0, ProcessAt – paGroupFinished.

Для второго задаем те же свойства: GroupLevel – 1, ProcessAt – paGroupFinished.

Тем самым вы выведем сначала итог для текущей группы, а затем для группы выше уровнем. Давайте посмотрим, как это выглядит:

В каждом случае мы выводим поле с одинаковым агрегатным выражением, но получаем разные значения, для групп, заголовка отчета. Все дело во времени формирования итога. В определенный момент времени агрегатная функция имеет разные значения. Именно поэтому важно правильно задавать значение параметра ProcessAt.

Источник

Прежде всего, объясню, чем же отличается построение отчета из кода пользовательского приложения от классической разработки шаблона в специальном дизайнере.

Обычно, генератор отчетов предоставляет специальный дизайнер для разработки шаблона отчета. Это может быть компонент IDE, либо просто внешняя программа. Разработчик размещает компоненты вывода данных на странице отчета, задает их свойства. Это похоже на конструирование формы приложения в проекте Windows Forms.

Помимо такого классического способа создания шаблона отчета, FastReport дает возможность создать шаблон, используя те же компоненты, но не визуальным редактором, а привычным для программиста кодом в приложении. Создается класс отчета, в него добавляются объекты отчета, настраивается источник данных. При определенной практике, создание отчета из кода займет немногим больше времени, чем из визуального редактора. Интересно, что в итоге такой шаблон отчета можно просмотреть все в том же визуальном редакторе и сохранить как файл.

Итак, рассмотрим все на примере.

На форме размещаем одну кнопку, которая будет запускать наш отчет. Забегая вперед, скажу, что мы будем не только показывать отчет в режиме предварительного просмотра, но и делать его экспорт в PDF. Поэтому предусмотрим эту опцию добавив CheckBox:

Создаем обработчик события нажатия кнопки. Здесь будет весь код нашего приложения.

Также, добавляем библиотеки FastReport, FastReport.Utils и FastReport.Data в using.

Создаем экземпляр класса Report:

В нашем отчете будут выводиться данные из базы, так что необходимо подключить источник данных:

Теперь необходимо зарегистрировать источник данных в отчете:

Чтобы использовать таблицу из зарегистрированного источника данных, нужно включить ее:

Читайте также:  Подготовить сообщение о происхождении своего имени фамилии

Подготовительные работы считаю на этом законченными. Приступаем непосредственно к созданию шаблона отчета. Создаем страницу отчета:

И добавляем ее в отчет:

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

Итак, страница отчета готова к наполнению. Создаем бэнд «Заголовок группы»:

Созданный бэнд добавляем на страницу:

Задаем высоту бэнда:

Условие группировки и порядок сортировки:

Теперь нужно наполнить созданный бэнд данными. Для этого нужно создать текстовый объект со ссылкой на поле из источника данных:

Важный параметр Parent, который указывает на бенд, где будет размещен текстовый объект:

Задаем размер и границы текстового объекта:

И, собственно, сам текст:

Остальные настройки относятся к внешнему виду текста:

Присваиваем бэнд данных группе:

Назначаем источник данных для бэнда «Данные»:

Тут же можно задать фильтрацию бэнда с помощью свойства Filter. Теперь заполним бэнд данными с помощью текстового объекта:

Подвал группы создается для конкретного экземпляра группы. Это очень удобно, так как не позволит запутаться, если в отчете несколько заголовков групп. Итак, создаем подвал группы:

Чтобы подвал группы не пустовал, добавим в него итоговое значение, которое будет отображать количество продуктов в группе:

Задаем тип вычислений, бэнд, для которого проводятся вычисления, и бэнд, в котором будет отображен результат. Так как мы считаем количество элементов, задавать конкретное поле для расчетов не нужно (делается с помощью groupTotal.Expression).

Созданный итог нужно добавить в каталог итогов отчета. Так сказать, зарегистрировать:

Как и любые выражения, которые нужно отобразить, итог выводится посредством текстового объекта:

Вот и все. Отчет готов. Теперь мы можем либо отобразить его, либо запустить в дизайнере. А можно сразу же экспортировать в нужный нам формат данных. Задействуем CheckBox, который мы добавили на форму:

Если CheckBox отмечен, то будет показано диалоговое окно сохранения файла pdf. Иначе будет запущен отчет в режиме предварительного просмотра. Тут надо отметить, что можно сделать экспорт и без отображения диалогового окна. Так сказать, в сохранение в скрытом режиме. Тогда экспорт будет выглядеть так:

где первый параметр – экземпляр отчета, а второй – итоговый файл.

Что же у нас получилось в итоге:

Лично мне привычно и удобно использовать объекты в коде программы. Так что создание отчета практически ничем не отличается от написания основного кода оконного приложения.

Источник

Оцените статью
Имя, Названия, Аббревиатуры, Сокращения
Adblock
detector