Форум: "Основная";
Текущий архив: 2008.08.31;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c