Иногда вам может потребоваться ограничить функциональность отчета, например, убрать ненужные форматы экспорта из списка в режиме предварительного просмотра. Это можно сделать в коде вашего приложения. Напишем функцию удаления объекта из отчета:
1 2 3 4 5 |
private void RemoveRegistered(Type type) { ObjectInfo obj = RegisteredObjects.FindObject(type); RegisteredObjects.Objects.Items.Remove(obj); } |
Как видите, вначале необходимо найти заданный объект в коллекции зарегистрированных объектов. Затем – удалить объект.
Теперь посмотрим, как вызывать этот метод:
То есть для удаления зарегистрированного объекта, просто нужно передать тип объекта.
Важное замечание! Удаление объектов нужно производить после создания объекта 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; } |
Таким образом можно организовать управление отображением объектов в меню предварительного просмотра отчета.
Мы рассмотрели удаление объектов на примере экспортов, но это справедливо также для всех других зарегистрированных объектов (функций, транспортов и пр.).