Не удается из кода вставить в существующую ст

отредактировано 15:35 Раздел: FastReport 3.0
Привет!
Необходимо "положить" из кода Delphi на существующую страницу (Fast Report 3) бэнд с линией.
Так вот, это не получается. Т.е. я имею ввиду, что результата вставки я не вижу. И никаких Refresh-методов не нашел.
Но если вставлять не в существующую страницу, а в новую, создаваемую также из кода Delphi, то тогда работает.

Хелп!
procedure AddReportKnickStrich(ARep: TfrxReport);
const
   PAN_OVERLAY = 'OverlayFuerKnickLine';
   LINE_STRICH = 'LineFuerKnicken';

   StrichPos   = 105; //мм от верхней граници листа до линии
var
   Page        : TfrxReportPage;

   fLeftMargin : extended;
   fTopMargin  : extended;

   Band        : TfrxBand;
   Lin         : TfrxLineView;
begin
   if ARep.PagesCount>0 then
   begin
      //Первая страница отчета
      Page:=ARep.Pages[0] as TfrxReportPage;

      {
      //с этим бы работало, но мне же нужна не "новая" страница, а "старая"

      Page := TfrxReportPage.Create(ARep);
      Page.CreateUniqueName();
      Page.SetDefaults();
      Page.Orientation := poPortrait;
      }

      if Page.Orientation=poPortrait then
      begin
         fLeftMargin:=Page.LeftMargin;
         fTopMargin:=Page.TopMargin;
          
         //Кладу бэнд
         Band:=ARep.FindComponent(PAN_OVERLAY) as TfrxOverlay;
         if Band=nil then
         begin
            Band:=TfrxOverlay.Create(Page);
            Band.Name:=PAN_OVERLAY;
         end;

         Band.Height:=(StrichPos-fTopMargin+5)*fr01cm;

         //и, наконец, линию
         Lin:=ARep.FindComponent(LINE_STRICH) as TfrxLineView;
         if Lin=nil then
         begin
            Lin:=TfrxLineView.Create(Band);
            Lin.Name:=LINE_STRICH;
         end;

         Lin.Top:=(StrichPos-fTopMargin)*fr01cm;
         Lin.Left:=-fLeftMargin*fr01cm;
         Lin.Width:=100;//10*fr01cm;
      end;
   end;
end;
begin
   ...
   AddReportKnickStrich(frxReport1);
   frxReport1.ShowReport(true);
end;

Комментарии

  • отредактировано 15:35
    А я вижу. Да, код не сработает, если ориентация у страницы не портрет...

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

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