Как создать фиксированный отчет

отредактировано 19:31 Раздел: FastReport 3.0
Подскажите как реализовать на fr3.
В БД есть таблица в которой может быть от 0 до 5 записей.
Мне нужно, не зависимо от того сколько записей в таблице вывести Band 5 раз.
Например, записей в таблице 3.

Результат:
Запись1
Запись2
Запись3
Пустое Место
Пустое Место

Фиксированный текст

Это мне нужно для того, чтобы текст за таблицей всегда выводился в отчете на одном и том же месте.

Комментарии

  • отредактировано November 2004
    MasterData.RowCount = 5 и вручную подсовывать данные как тебе нравится.
    Или для бэнда с фиксированным текстом в OnBeforePrint выставлять фиксированный отступ от верха листа.
  • отредактировано 19:31
    Stranger написал:
    MasterData.RowCount = 5 и вручную подсовывать данные как тебе нравится.
    Или для бэнда с фиксированным текстом в OnBeforePrint выставлять фиксированный отступ от верха листа.
    Можете пример кода привести как вручную строить? Или где про это можно прочесть?
  • отредактировано November 2004
    Прочесть естественно в хелпе.
    А пример на. Имеем бэнд MasterData1 со свойством RowCount = 5. На бэнде мемка Memo1. И есть BDETable1, настроенная и подключенная куда надо. Обработчики:
    procedure Page1OnBeforePrint(Sender: TfrxComponent);
    begin
      BDETable1.Open;
    end;
    
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin
    if not BDETable1.EOF then
      begin
      Memo1.Text := <BDETable1."Имя">;
      BDETable1.Next;
      end
    else
      Memo1.Text := '';
    end;
    
  • отредактировано 19:31
    Stranger написал:
    Прочесть естественно в хелпе.
    А пример на. Имеем бэнд MasterData1 со свойством RowCount = 5. На бэнде мемка Memo1. И есть BDETable1, настроенная и подключенная куда надо. Обработчики:
    procedure Page1OnBeforePrint(Sender: TfrxComponent);
    begin
      BDETable1.Open;
    end;
    
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin
    if not BDETable1.EOF then
      begin
      Memo1.Text := <BDETable1."Имя">;
      BDETable1.Next;
      end
    else
      Memo1.Text := '';
    end;
    
    Спасибо что нашел время.
  • отредактировано 19:31
    Лучше б написал что у тебя все получилось ;)
  • отредактировано 19:31
    Stranger написал:
    Лучше б написал что у тебя все получилось ;)
    Сделал в отчете ;)

    procedure Page2OnManualBuild(Sender: TfrxComponent);
    var i : integer;
    DataSet : TfrxDataSet;
    begin
    Engine.ShowBand(Header1);
    DataSet := MasterData1.DataSet;
    DataSet.First;
    while not DataSet.Eof do begin
    Engine.ShowBand(MasterData1);
    DataSet.Next;
    end;
    Engine.CurY := 200; <-- куда надо
    Engine.ShowBand(Header2);
    end

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

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