Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2018.02.04;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
2-1455133154
aturasama
2016-02-10 22:39
2018.02.04
сокеты


1-1351687767
cobalt
2012-10-31 16:49
2018.02.04
Декларация и исполнение процедур/функций


6-1284889393
Cobalt
2010-09-19 13:43
2018.02.04
Как скачать XML, а не обработанный уже HTML?


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


2-1455227853
Dmk
2016-02-12 00:57
2018.02.04
Округление





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский