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

19.05.2018

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

1
2
3
4
5
 private void RemoveRegistered(Type type)
 {
 ObjectInfo obj = RegisteredObjects.FindObject(type);
 RegisteredObjects.Objects.Items.Remove(obj);
 }

Как видите, вначале необходимо найти заданный объект в коллекции зарегистрированных объектов. Затем – удалить объект.

Теперь посмотрим, как вызывать этот метод:    

1
2
3
4
 RemoveRegistered(typeof(FastReport.Export.LaTeX.LaTeXExport));
 RemoveRegistered(typeof(FastReport.Export.Zpl.ZplExport));
 RemoveRegistered(typeof(FastReport.Export.Svg.SVGExport));
 RemoveRegistered(typeof(FastReport.Export.Dbf.DBFExport));

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

Важное замечание! Удаление объектов нужно производить после создания объекта Report, иначе, при удалении вы будете искать объекты в пустой коллекции.

Возможен и другой вариант отключения объектов:

1
2
3
4
5
 private void DisableRegistered(Type type)
 {
 ObjectInfo obj = RegisteredObjects.FindObject(type);
 obj.Enabled = false;
 }

При этом, вы можете как выключать, так и включать объекты, написав еще одну функцию:

1
2
3
4
5
 private void EnableRegistered(Type type)
 {
 ObjectInfo obj = RegisteredObjects.FindObject(type);
 obj.Enabled = true;
 }

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

Мы рассмотрели удаление объектов на примере экспортов, но это справедливо также для всех других зарегистрированных объектов (функций, транспортов и пр.).

1 ноября 2024

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

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

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

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

Как настроить WSL 2 для работы с FastReport и FastCube

В этой статье попробуем вместе разобраться, как настроить WSL 2 для работы с компонентами FastReport и FastCube в Lazarus для Linux.