ограничение кол-ва строк в бэнде на страницу

отредактировано 15:41 Раздел: FastReport Studio
Есть запрос и его результат надо выводить порционно по 100 строк, например, на 1 страницу, кто знает, как это сделать в FastReport Studio?
Необходимое кол-во строк на страницу может меняться, поэтому расчет расстояний между полями, что бы влезло "аккурат", достаточно хлопотный.

Комментарии

  • отредактировано 15:41
    Нужно в скрипте написать следующий код:
    var
      Counter: Integer;
      MaxCount: Integer;                                                   
        
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin    
      if Counter = MaxCount then
      begin
        Counter := 0;
        Engine.NewPage;                                                
      end;
      Counter := Counter + 1;      
    end;
    
    begin
      Counter := 0;
      MaxCount := 4;                                  
    end.
    

    В этом коде создаются две переменные: счетчик Counter и максимальное значение счетчика MaxCount (это как раз и есть максимальное количество строк на страницу).
    В обработчике события MasterData1OnBeforePrint, Counter увеличивается на единицу, и если он равен MaxCount, то счетчик Counter обнуляется, и строкой Engene.NewPage создается новая страница.
    В прикрепленном файле простенький отчет, в котором вы можете посмотреть как все это реализуется.

  • отредактировано 15:41
    Большое спасибо, получилось.
  • отредактировано 15:41
    Аттач не получается уже скачать, а если полностью код переносить, то работает корректно, но первая страница печатается с одной строкой и только все остальные уже с указанным MaxCount
  • gpigpi
    отредактировано 15:41
    var
      Counter: Integer;
      MaxCount: Integer;                                                  
        
    procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
    begin    
      if Counter = MaxCount then
      begin
        Counter := 0;
        Engine.NewPage;                                                
      end;
      Counter := Counter + 1;      
    end;
    
    procedure Page1OnBeforePrint(Sender: TfrxComponent);
    begin
      Counter := 0;
      MaxCount := 4;  
    end;
    
    begin
                                        
    end.
    

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

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