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

15.01.2018

Некоторые объекты в FR VCL 6 допускают редактирование в просмотрщике отчетов, то есть в формате .fp3. Изменив объект вы можете сохранить измененный отчет в формате предварительного просмотра или экспортировать его в любой другой формат. Когда это может быть полезно? Например, у вас нет шаблона отчета, а есть только файл предварительного просмотра отчета .fp3. Вы изменяете заголовок отчета, или выбираете нужную серию в диаграмме и отправляете отчет на печать. Частным случаем такого использования может быть заполнение анкеты.

Какие объекты можно редактировать? Конечно, чаще всего нам приходится редактировать текст, поэтому объект «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:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
procedure Gauge1OnContentChanged(Sender: TfrxComponent; ModifyObjects: TList; var Refresh: Boolean);
 
var
 
 List: TList;
 
 View: TfrxMemoView;
 
 i: Integer;
 
begin
 
 View := nil;
 
 List := PreviewPages.Page[PreviewPages.CurPage].AllObjects;
 
 for i := 0 to List.Count - 1 do
 
 if (List[i] is TfrxView) then
 
 begin
 
 if (TfrxView(List[i]).TagStr = 'Gauge1') then
 
 View := TfrxMemoView(List[i]);
 
 if (View <> nil) then Break;
 
 end;
 
 if View <> nil then
 
 begin
 
 TfrxMemoView(View).Text := FloatToStr(Round(TfrxGaugeView(Sender).Gauge.CurrentValue));
 
 ModifyObjects.Add(View);
 
 end;
 
 // refresh preview
 
 Refresh := True;
 
end;

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

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

 

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

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

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.