Ошибка Crosstab, при установке Nextcross
Три кросстаба на одном бэнде. DBCross1.NextCross=DBCross2, DBCross2.NextCross=DBCross3
ownThenAcross:=false
Если таблица входит 1 страницу, то все хорошо.
Если записей много, то на 1 странице все в норме, затем снвчала DBCross1 несколько страниц, затем DBCross2 и DBCross3.
Сделал следующие изменения в модуле frxCross процедура RenderMatrix.
Добавил переменную PrintNextCross.
Теперь правильно печатает если в таблице меого строк, но если не убирается не вниз не вширь, то получается ерунда.
При ownThenAcross=True, также ничего хорошего не получается.
Да, версия 4.12.1
ownThenAcross:=false
Если таблица входит 1 страницу, то все хорошо.
Если записей много, то на 1 странице все в норме, затем снвчала DBCross1 несколько страниц, затем DBCross2 и DBCross3.
Сделал следующие изменения в модуле frxCross процедура RenderMatrix.
if i <> FRowBands.Count - 1 then
begin
if PrintNextCross then
Report.PreviewPages.AddPageAction := apWriteOver {***********}
else
Report.PreviewPages.AddPageAction := apAdd;
Report.Engine.BreakAllKeep;
Report.Engine.NewPage;
Page := Report.PreviewPages.CurPage;
end
else
Inc(Page, FColumnBands.Count);
CurY := Report.Engine.CurY;
Application.ProcessMessages;
if Report.Terminated then break;
end;
if Parent is TfrxBand then
CurY := CurY - Height;
{ print last page footers }
if FColumnBands.Count > 1 then
Report.Engine.EndPage;
if NextCross <> nil then
begin
PrintNextCross := true; {***********}
{ position to last column, first row page }
Report.PreviewPages.CurPage := SavePage + FColumnBands.Count - 1;
Report.PreviewPages.AddPageAction := apAdd;
Report.Engine.CurY := SaveCurY;
end
else
begin
PrintNextCross := false; {***********}
{ position to last row, first column page }
Report.PreviewPages.CurPage := Page - FColumnBands.Count;
Report.PreviewPages.AddPageAction := apAdd;
Report.Engine.CurY := CurY;
end;
Добавил переменную PrintNextCross.
Теперь правильно печатает если в таблице меого строк, но если не убирается не вниз не вширь, то получается ерунда.
При ownThenAcross=True, также ничего хорошего не получается.
Да, версия 4.12.1