Не удается из кода вставить в существующую ст
Привет!
Необходимо "положить" из кода Delphi на существующую страницу (Fast Report 3) бэнд с линией.
Так вот, это не получается. Т.е. я имею ввиду, что результата вставки я не вижу. И никаких Refresh-методов не нашел.
Но если вставлять не в существующую страницу, а в новую, создаваемую также из кода Delphi, то тогда работает.
Хелп!
Необходимо "положить" из кода 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;
Комментарии