Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2018.02.04;
Скачать: CL | DM;

Вниз

QuickReport: pageCount   Найти похожие ветки 

 
harisma ©   (2012-12-17 19:56) [0]

Необходимо в правом нижнем углу каждой страницы отчета писать, какая это страница (с этим проблемы не возникает - использую компоненту TQRSysData и ее свойство Data), и общее количество страниц в отчете (вот тут проблема - у TQRSysData нет возможности вернуть общее количество страниц в отчете).

Подскажите, как получить это значение (его же видно на превьюве в статусбаре).


 
Германн ©   (2012-12-17 22:06) [1]

Из ФАК QuickReport
Q.  How can I determine the number of pages in my report before I preview or print it?
A.  If you call the report"s Prepare method, it will generate the report without printing or previewing it.  After Prepare has finished, the pagecount will be in the report"s qrprinter.pagecount property.  Please refer to the manual topic on Prepare for more information.
Example:
   QuickRep1.Prepare;
   QuickRep1.ReportTitle := "This report has " +
     IntToStr(QuickRep1.QRPrinter.PageCount) + " pages";
   QuickRep1.QRPrinter.Free;
   QuickRep1.QRPrinter := nil;
   QuickRep1.Preview;


 
harisma ©   (2012-12-19 11:32) [2]

А чтобы не в ReportTitle, а в самом отчете на каждой страничке проставлялось это значение в виде: Страница 2 из 6, что следует использовать? Компонента TQRLabel что-то для этого не очень подходит, так как если ему в обработчике OnPrint написать Value := IntToStr(QuickRep1.QRPrint.PageCount); то получаем номер текущей страницы, а не общее количество страниц.
Что делать?


 
Германн ©   (2012-12-19 13:11) [3]


> Что делать?

Думать головой, а не ...
  QuickRep1.Prepare;
  QuickRep1.QRLabelPageCount := IntToStr(QuickRep1.QRPrinter.PageCount);
  QuickRep1.QRPrinter.Free;
  QuickRep1.QRPrinter := nil;
  QuickRep1.Preview;


Общий смысл такой - автор QR так и не смог найти способ узнать полное количество страниц в отчете до (или в процессе) его создания. Так что отчет приходится создавать дважды. Первый раз без показа (QuickRep1.Prepare) чтобы узнать количество страниц. Второй раз уже с показом (QuickRep1.Preview).


 
harisma ©   (2012-12-20 11:30) [4]

QRLabelPageCount - это я так понимаю название компоненты на форме отчета?


 
Германн ©   (2012-12-20 18:49) [5]


> QRLabelPageCount - это я так понимаю название компоненты
> на форме отчета?
>

Да. Только конечно надо так:
QuickRep1.QRLabelPageCount.Caption := IntToStr(QuickRep1.QRPrinter.PageCount);



Страницы: 1 вся ветка

Текущий архив: 2018.02.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1454909399
Signal
2016-02-08 08:29
2018.02.04
Сети..Сети..и выбор интерфейса в TServerCocket


15-1469302746
Юрий Зотов
2016-07-23 22:39
2018.02.04
Как много нам открытий чудных...


15-1469741401
Юрий
2016-07-29 00:30
2018.02.04
С днем рождения ! 29 июля 2016 пятница


2-1455133154
aturasama
2016-02-10 22:39
2018.02.04
сокеты


2-1455547592
Незарегистрированный
2016-02-15 17:46
2018.02.04
Как корректно сравнить/присвоить Longint с Сишными TRUE и FALSE?