Вопрос по превью пэйджам

DiamondDiamond г. Ростов-на-Дону
отредактировано 00:58 Раздел: FastReport 4.0
Объясняю ситуацию:
Сам отчет расположен на одной станице Page1. Сначала текст, находится в GroupHeader, далее чайлд, мастердата и групфутер.
После выборки данных по запросу табличка растягивается, ну допустим на 3-4 страницы.
И вот собственно вопрос:
Необходимо сделать так, чтобы отступы на первой страницы были стандартные, как я задал их в дизайнере, а на всех последующих созданных в результате растягивания мастердаты я смог задать после выполнения запроса на выборку данных в мастердату ?????

Комментарии

  • gpigpi
    отредактировано 00:58
    var i: integer;
        page: TfrxReportPage;
    begin
         frxReport1.PrepareReport();
         for i := 1 to frxReport1.PreviewPages.Count - 1 do
           begin
             page := frxReport1.PreviewPages.Page[i];
             page.LeftMargin := 20;
             page.RightMargin := 10;
             page.TopMargin := 10;
             page.BottomMargin := 10;
             frxReport1.PreviewPages.ModifyPage(i, page);
           end;
         frxReport1.ShowPreparedReport;
    end;
    
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    gpi написал: »
    var i: integer;
        page: TfrxReportPage;
    begin
         frxReport1.PrepareReport();
         for i := 1 to frxReport1.PreviewPages.Count - 1 do
           begin
             page := frxReport1.PreviewPages.Page[i];
             page.LeftMargin := 20;
             page.RightMargin := 10;
             page.TopMargin := 10;
             page.BottomMargin := 10;
             frxReport1.PreviewPages.ModifyPage(i, page);
           end;
         frxReport1.ShowPreparedReport;
    end;
    
    Мне надо чтобы чтобы изменились отступы только тех страниц на которые была растянута мастер дата, т.е. страницы принадлежащие к Page1, а Page2 чтобы осталась неизменной. А при этом варианте изменения коснуться всех страниц
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    можете подсказать ну или направить в нужное русло?
    и еще одно условие: процедура изменения отступов должна быть запущена из скрипта отчета
  • gpigpi
    отредактировано 00:58
    написал:
    Мне надо чтобы чтобы изменились отступы только тех страниц на которые была растянута мастер дата, т.е. страницы принадлежащие к Page1, а Page2 чтобы осталась неизменной. А при этом варианте изменения коснуться всех страниц
    А теперь внимательно перечитайте Ваше первое сообщение: там написано совсем другое.
    написал:
    и еще одно условие: процедура изменения отступов должна быть запущена из скрипта отчета
    Изменение параметров TfrxReportPage возможно либо в главной процедуре отчёта, либо в обработчиках событий диалоговой формы

  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    gpi написал: »
    А теперь внимательно перечитайте Ваше первое сообщение: там написано совсем другое.

    Изменение параметров TfrxReportPage возможно либо в главной процедуре отчёта, либо в обработчиках событий диалоговой формы

    Вот как раз мне и надо изменить Margin's TfrxReportPage, но тогда все полученные страницы, в результате заполнения MastеrData, будут иметь одинаковый отступ.
    А надо, чтобы первая страница имела отступ по умолчанию, а все последующие полученные в результате заполнения MasterData имели другой отступ и чтобы это касалось только той страницы, на которой расположен MasterData.
    Есть идеи на этот счет?
  • gpigpi
    отредактировано 00:58
    В таком случае Вам придётся использовать код из моего первого поста, только поменять диапазон изменения страниц, например
    for i := 2 to 3 do
    В скрипте отчёта, такое сделать нельзя, только в коде программы

    А другой отступ у Вас больше отступа по умолчанию?
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    gpi написал: »
    В таком случае Вам придётся использовать код из моего первого поста, только поменять диапазон изменения страниц, например
    for i := 2 to 3 do
    В скрипте отчёта, такое сделать нельзя, только в коде программы

    А другой отступ у Вас больше отступа по умолчанию?
    нет. наоборот меньше.

    Из программы нельзя (((, уже бы сделал.

    мне, самое главное - это отступ сверху - его надо будет уменьшить.
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    еще сложности добавляет GroupHeader, у меня он при повторении стартует с новой страницы (её то как раз и не надо трогать).
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    т.е. отступы изменять только для страниц полученных в результате заполнения Masterdata
  • gpigpi
    отредактировано 00:58
    Приложите шаблон отчёта, сохранённые страницы превью и пример того, что Вы хотите получить. А ещё лучше сделать тестовый проект на основе базы FRDemo
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    gpi написал: »
    Приложите шаблон отчёта, сохранённые страницы превью и пример того, что Вы хотите получить. А ещё лучше сделать тестовый проект на основе базы FRDemo
    Хотел сразу приложить, но файлы незагружаются у меня на сайт
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    примерная архитектура отчета:
    5 TfrxReportPage, 3 TfrxDialogPage.
    Так вот и на одной из TfrxReportPage необходимо менять отступы.
    Её примерная архитектура (сверху вниз по бэндам):
    GroupHeader
    его Child
    MasterData
    GroupFooter
    его Child
    Child
    MasterData
    MasterData
    всё

    Как вы наверно догадались - этот документ за счет GroupFooter будет формироваться столько раз сколько разных значений вернет запрос.
    GroupFooter.StartNewPage= true.
  • gpigpi
    отредактировано 00:58
    написал:
    мне, самое главное - это отступ сверху - его надо будет уменьшить.
    Попробуйте по умолчанию установить минимальный отступ сверху, а в скрипте управлять значением Engine.CurY
    написал:
    Хотел сразу приложить, но файлы незагружаются у меня на сайт
    Залейте на rapidshare.com и приведите ссылку здесь
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    Вот пример той самой страницы.
    Поясню: отступ на каждой странице должен быть одинаковым, но расстояние считается от края страницы до текста, а на первой странице сверху рисунок (правила отступов для текста его некасаются).
  • gpigpi
    отредактировано 00:58
    А какого вида отчёт Вы хотите получить? Желательно пример. Словесное описание мной почему-то не воспринимается
  • DiamondDiamond г. Ростов-на-Дону
    отредактировано 00:58
    gpi написал: »
    А какого вида отчёт Вы хотите получить? Желательно пример. Словесное описание мной почему-то не воспринимается
    К сожалению, пример не могу выложить.
    Вот только такой, какой уже выложил.
    Когда запрос возвращает разные значения (разные люди) GroupHeader печатается на новой странице и тащит всё остальное за собой, таким образом для каждого человека формируется свой собственный документ.

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

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