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

Вниз

QReport и несколько отчетов   Найти похожие ветки 

 
nimasu ©   (2007-12-17 17:04) [0]

Добрый день! В программе использую quick report для создания отчета. Отчеты формируются не из базы данных . В итоге создала 3 отчета: титульник и два отчета по данным (отчет1 и отчет2). Титульник имеет портретную ориентацию, остальные два - ландшафтную. Соответственно использовать composite отчет не могу. Создаю собственное окно предпросмотра с QRPreview. Распечатка отчета проходит нормально. Проблема в навигации:
нажимаю кнопку Next, далее смотрим: если достигнута последняя страница отчета1 делаем  отчет2.preview. В случае, если отчеты одностраничные все проходит гладко, но если отчет1 многостраничный, отображения отчета 2 не происходит. В чем ошибка?
Помогите, пожалуйста... Спрашивала на delphikingdom, молчат.


 
Германн ©   (2007-12-18 01:00) [1]


> Спрашивала на delphikingdom, молчат.

Может плохо спрашивала?
Например так же как и сейчас? Такой вопрос без твоего кода почти бессмысленный. Откуда же кому знать:
- Как ты создаешь "своё" окно для превью?
- Как формируешь сам отчет (OnNeedData как реализован)?
- Какой обработчик у кнопки Next?
- Как проверяешь "достижение" последней страницы?
- Где и как вызываешь отчет2.preview?


 
Германн ©   (2007-12-18 02:34) [2]


> nimasu ©   (17.12.07 17:04)

Кстати, о королевстве. Так где и что спрашивала? Не смог найти ничего похожего. Приведи ссылку на твой вопрос.


 
nimasu ©   (2007-12-18 08:39) [3]

Код обработчиков достаточно большой.
Хорошо, подойду с другой стороны. Окно для превью создается с помощью QRPreview. Подцепка отчета осуществляется через QPrinter и обработчик OnPreview отчета. Описывать это думаю нет нужды. Всем понятно.
Навигация по отчетам осуществляется посредством изменения QPrinter компонента QRPreview.
Обработчик для кнопки Next:
procedure TPrevForm.toNextClick(Sender: TObject);
begin
Application.ProcessMessages;
if QRPrev.QRPrinter=QFormTit.QRepTit.QRPrinter then
QFormClient.QRep1.Preview
else
if QRPrev.QRPrinter=QFormClient.QRep1.QRPrinter then
                                                                       //проверяем конец отчета
 if QRPrev.PageNumber=QRPrev.QRPrinter.PageCount then
 QFormPost.QRep2.Preview
 else
 QRPrev.PageNumber:=QRPrev.PageNumber+1
end;

Обработчик для QRep1Preview:
procedure TQFormClient.QRep1Preview(Sender: TObject);
begin
PrevForm.QRPrev.QRPrinter:=QRep1.QRPrinter;
PrevForm.QRPrev.UpdateZoom;
PrevForm.QRPrev.Show;
end;

Обработчик для QRep2Preview имеет вид как у QRep1Preview.
Обработчики OnNeedData работают корректно. Отчеты формируются правильно. Вопрос над этим не стоит.
Проблема в следующем: при нажатии на кнопку Next происходит смена отчетов или страниц отчета. Т.е. когда достигнута последняя страница QRep1 должен отобразиться QRep2. Но в случае многостраничности отчета QRep1 данная смена не проиходит.



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

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

Наверх




Память: 0.48 MB
Время: 0.01 c
2-1216927230
self.name
2008-07-24 23:20
2008.08.31
компонент внутри компонента...


15-1215670829
Oshin Vlad
2008-07-10 10:20
2008.08.31
Oracle. Помогите с подключением


2-1216794383
Mishenka
2008-07-23 10:26
2008.08.31
Как отловить событие, когда в ListView изменяют ширину столбца?


2-1216827888
ikolopiz
2008-07-23 19:44
2008.08.31
is application launched ?


2-1216898754
Dimich1978
2008-07-24 15:25
2008.08.31
Работа с бордюрами Word -таблица