“Drill Down” или же “углубление в данные” - понятие, имеющее много сторон, которое может относиться к действиям в таблицах или в чем-то другом, заключающее в себе информацию. А если просто и понятно, то это раскрывающийся список!
Одна из важнейших операций - Drill-Down, к примеру, в OLAP с кубами, да и, в принципе, много где. Ведь это намного упрощает анализ информации. “Аккуратное погружение” в слои данных. Давайте же “рассмотрим данные детальнее”! Обычно это делается кликом мышки по тем данным, которые мы хотим детализировать.
Раскрывающийся список можно сделать в FastReport VCL именно об этой возможности и пойдет речь в статье.
У самого заголовка группы есть свойство “DrillDown” (“Разворачиваемый” пункт в меню). При включении DrillDown будет возможность сделать группу интерактивной.
Если простым языком, то группа начнет реагировать на щелчок мышью в окне предварительного просмотра. Щелкнув на заголовок можно будет развернуть (показать все содержимое) или же свернуть (скрыть содержимое), оставив только заголовок и, при желании - подвал или дочерний бэнд. Это можно настроить свойствами ShowFooterIfDrillDown и ShowChildIfDrillDown.
На скрине ниже показан пример группы с одним развернутым заголовком:
Можно указать, надо ли выводить все группы свернутыми или развернутыми при запуске отчета. По умолчанию группы свернуты, это контролируется свойством ExpandDrillDown. Если группы необходимо развернуть, установите это свойство в True.
В окне предварительного просмотра также есть функция открытия и закрытия информации групп из контекстного меню.
Следует отметить, что при использовании механизма DrillDown отчёт каждый раз перестраивается. Если отчёт строится на основе данных “тяжёлого” запроса, то такой запрос будет выполняться каждый раз при срабатывании DrillDown. В таком случае желательно сохранять результаты выполнения запроса во временной таблице. Также не будут работать сформированные отчёты, которые будут сохранены в fp3 формат, а впоследствии будут загружены в окне предварительного просмотра или в FR Viewer.
В коде свойства TfrxGroupHeader для создания drill-down отчётов устанавливаются следующим образом:
DrillDown | |
1 2 3 4 5 6 |
var gh: TfrxGroupHeader; gh := TfrxGroupHeader(frxReport1.FindObject(‘GroupHeader1’)); gh.DrillDown := True; gh.ExpandDrillDown := True; gh.ShowChildIfDrillDown := False; gh.ShowFooterIfDrillDown := True; |
Отчеты в которых используется тип DrillDown с его свойствами считаю полезными и удобными в использовании. И не только я! Любой офисный работник будет вам благодарен за это разбавление их беспросветной жизни таким интерактивом! Единственное - не увлекайтесь и не пытайтесь “утоптать” в отчёт с дрилл-даунами многоуровневыми всю базу! Это ожидаемо сильно утяжелит и документ, и работу.