Сегодняшняя демка. Жмём дизайн на любом отчете. Добавляем диалог, запускаем отчет, закрываем превью. Закрываем дизайнер и отказываемся от сохранения отчета. Появляется наш диалог!!!
Запрос сохранения изменений в файл. В экземляре report, который редактируем, изменения сохраняются в любом случае. Ну и в демке есть код, который запускает превью после дизайна:
В экземляре report, который редактируем, изменения сохраняются в любом случае.
Я, чтобы объект отчета report и файл отчета были бы синхронизированы, в методе закрытия контрола содержащего дизайнер FastReport сделал так:
//при закрытии контрола вызывается данный метод
public bool CloseControl()
{
//designerCtrl - экземпляр дизайнера FastReport
if (designerCtrl.CloseAll()) //если дизайнер действительно закрылся (Пользователь нажал сохранить изменения или не сохранять)
{ //к этому моменту в файле отчета изменения (откат изменений) уже сохранен
try
{
Designer.Report.Load(Designer.Report.FileName); //перегружаем отчет
}
catch(Exception)
{
}
this.Dispose();
return true;
}
else //пользователь нажал отменить закрытие
{
return false;
}
}
Комментарии