Как напечатать многоколончатый отчет

Stalker4Stalker4 123
отредактировано March 2007 Раздел: FastReport 4.0
Привет All,

Есть отчет:

MasterData (формировать новую страницу)
DetailData

В MasterData заголовок группы номеров, в DetailData собственное сами номера.
Так как номеров много (на каждую мастер-запись приходится несколько сотен номеров), то я хочу печатать номер в несколько колонок.

Соответственно для этого я устанавливаю опции у страницы отчета
Page1.Columns := 4.

Запускаю отчет (см. картинку в атаче) и вижу, что первая колонка началась печататься от верха с правильной позиции, а вот вторая колонка и последующие начали почему то печататься с самого начала листа.

Это так и должно быть или это баг ? На мой взгляд это очень похоже на баг.
Если это так, то нужен фикс.

Делать колонки непосредственно на банде не годится, так как банд в этом случае печатает колонки слева-направо, а надо сверху-вниз.

SubReport тоже годится, так как он не использует свойства своей страницы.

Вопрос: Как все таки можно сделать такой отчет ?

Комментарии

  • gpigpi
    отредактировано 05:53
    Предлагаю после печати MasterData сохранять значение CurY в переменной, а перед печатью строки DetailData проверять текущее значение CurY, и если оно меньше значения переменной, то присвоить CurY значение переменной
  • Stalker4Stalker4 123
    отредактировано 05:53
    Попробовал сделать, как ты сказал - не работает.
    См. в атаче пример отчета.

    Если 50 в скрипте заменить на "y", то тоже не работает.
  • gpigpi
    отредактировано 05:53
    Добавь ещё
    procedure DetailData1OnAfterCalcHeight(Sender: TfrxComponent);
    begin
         if Engine.FreeSpace<DetailData1.Height then
          begin
            Engine.NewColumn;
            Engine.CurY := 50;
          end;
    end;
    
  • Stalker4Stalker4 123
    отредактировано 05:53
    Большое спасибо, теперь все работает правильно.

    Но все таки интересно: Это ошибка FR4 или так и должно быть ?

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

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