Второй отчет накрывает данные первого
Столкнулся с такой проблемой, что если сначала получить отчет за один период, и не закрывая его сформировать этот же отчет, но за другой период, то оба отчета будут содержать данные последнего отчета.
Можно ли настроить FastReport чтобы повторное формирование отчета не перетирало данные в тех отчетах, которые уже сформированы?
Можно ли настроить FastReport чтобы повторное формирование отчета не перетирало данные в тех отчетах, которые уже сформированы?
Комментарии
Вообще выход на данный момент вижу только один - программно создавать копию компонента и печатать уже через новую копию каждый новый отчет, но тут тоже проблемка возникает Assigned видимо что то не до конца копирует и некоторые отчеты с левой ошибкой ("тип данных строка а нужно дробное число") вылазят при таком вызове.
ps сижу на D7
В справке это очень подробно изложено.
frxReport.PrepareReport(False);
Сделал следующую форму: кинул 2 кнопки, 1 репорт и 2 превью. В репорте вывожу системное время. В кнопках написал текст:
procedure TForm1.Button1Click(Sender: TObject);
begin
frReport.Preview := frxPreview1;
frReport.PrepareReport(false);
frReport.ShowPreparedReport;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
frReport.Preview := frxPreview2;
frReport.PrepareReport(false);
frReport.ShowPreparedReport;
end;
Нажимаю на первую кнопку, получаю первый отчет.
Нажимаю вторую кнопку, получаю второй отчет.
Отчеты на экране показывают разное системное время, НО! если я формочку сверну или задвину чуток за экран а затем верну обратно, то оба превью будут абсолютно одинаковыми равными отчету по последней нажатой кнопке =(
Предпросмотр только отображает отчет, он ничего не хранить. построенный отчет хранится в Report.PreviewPages , которые затираются последним построенным отчетом.
В MDI приложении на каждый preview должен быть свой компонент отчета. посмотрите Demos\MDI Designer.
А тут тоже проблемка возникает: AssignAll видимо что то не до конца копирует и некоторые отчеты с левой ошибкой выходят.
Дальше сам разберусь, спасибо!