Добавление страниц в Previewpages

отредактировано 11:45 Раздел: FastReport 4.0
Использую frxPreview (FR 4.9.21) для отображения "отчётов-результатов" как сформированных вручную или PrepareReport, так и загружаемых через LoadFromStream.
PrepareReport и LoadFromStream работают на ура, а вот при создании и добавлении новой страницы (созданной вручную или из другого отчёта) вылетает с ошибкой "индекс -1". В "свежесозданном" frxReport1 ошибка не возникает, а только если когда-то выполняли PrepareReport.
  frxReport1.Clear;
  frxReport1.PreviewPages.Clear;
  frxReport1.PreviewPages.Initialize;
  
  frxReport1.PreviewPages.AddPage(nil);
  frxReport1.PreviewPages.ModifyPage(
       frxReport1.PreviewPages.Count-1,
       TfrxReportPage(nPage));
  
  frxReport1.ShowPreparedReport;
  frxReport1.PreviewPages.Finish;
Вопрос:
1) как правильно добавить страницы (по странично, а не все сразу) в TfrxReport.PreviewPages
2) а вообще где-то задокументирована методика добавления и редактирования страниц TfrxReport.PreviewPages ?

Комментарии

  • отредактировано 11:45
    Попробовал использовать:

    1) PreviewPages.AddEmptyPage
    ...
    - не добавляет страницы если отчёт пуст (Count = 0)

    2) PreviewPages.AddPage(nil)
    PreviewPages.ModifyPage()
    - создаёт пустую страницу в конце отчёта и даже её можно изменить, но:
    - страница имеет название "page-1" (в FPagesItem) и соответственно при первом же внутреннем вызове GetPageSize вылетаем с ошибкой "индекс -1";
    - если вызвать PrepareReport, то ещё один вызов AddPage(nil) сразу велетает с ошибкой "индекс -1";

    3) wPage := TfrxReportPage.Create(frxReport1);
    PreviewPages.AddPage(wPage);
    - то же, что и в 2)

    4) PreviewPages.LoadFromStream(rStream) - работает только, если мы загрузили страницы из другого PreviewPages, а вот загрузить отдельную страницу не получится;

    5) AssingAll - практически заменяет LoadFromStream.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.