Ошибка Crosstab, при установке Nextcross

отредактировано 04:57 Раздел: FastReport 4.0
Три кросстаба на одном бэнде. DBCross1.NextCross=DBCross2, DBCross2.NextCross=DBCross3
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

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

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