Обработка события нажатия кнопки печати в StiPreviewControl

Обсуждение Stimulsoft Reports.NET
Ответить
AlexI
Сообщения: 18
Зарегистрирован: 29 май 2008, 13:55
Откуда: Kiev

Обработка события нажатия кнопки печати в StiPreviewControl

Сообщение AlexI »

Добрый день!

На нажатие кнопки печати в StiPreviewControl повешен обработчик этого события.

В конце концов вызывается следующая ф-ия

///
/// Печать документа с помощью стандартного
/// диалога с настройками принтера
///
void IPrintPreviewFrm.Print()
{
//stiPreviewControl.Report.Print(true);
stiPreviewControl.Report.CompiledReport.Print(true);
}



Если раскомментировать строку
stiPreviewControl.Report.Print(true);
и закоментировать следующую за ней,
то если например в StiPreviewControl поменять масштаб просмотра на 10%
при печати на принтер будет печаться маленькая табличка.
Если масштаб установитт 200%, то таблица будет печататься большой и зарезаться.

Если же использовать stiPreviewControl.Report.CompiledReport.Print(true);, то все будет печататься хорошо.
Почему так происходит?

Укажите также рекомендуемый способ печати отчета, отображаемого StiPreviewControl с помощью своего обработчика события.

Спасибо
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Обработка события нажатия кнопки печати в StiPreviewControl

Сообщение Vital »

Здравствуйте,

К сожалению, не удается воспроизвести данную проблему. Вы можете уточнить версию генератора отчетов?

Спасибо.
AlexI
Сообщения: 18
Зарегистрирован: 29 май 2008, 13:55
Откуда: Kiev

Обработка события нажатия кнопки печати в StiPreviewControl

Сообщение AlexI »

Добрый день!
Для Stimulsoft.Report.dll
Runtime version v2.0.50727(на всякий случай)
Version 2008.1.200.0

Спасибо
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Обработка события нажатия кнопки печати в StiPreviewControl

Сообщение Vital »

Здравствуйте Alex,

В прошлом релизе была ошибка с печатью в таком виде. Используйте следующий код:

Код: Выделить всё

double oldZoom = stiPreviewControl.Report.Info.Zoom;
stiPreviewControl.Report.Info.Zoom = 1;
stiPreviewControl.Report.Print(true);
stiPreviewControl.Report.Info.Zoom = oldZoom;
Спасибо.
Ответить