Как вызвать print из asp.net на элементе управления Reportviewer?
Я использую ssrs с управлением asp.net reportviewer для отображения отчетов сервера. Мы хотим покончить с панелью инструментов, потому что она не соответствует нашему внешнему виду и ощущениям, но мы хотим сохранить некоторые функциональные возможности, с чем я сталкиваюсь - это печать. Есть ли способ вызвать тот же диалог печати, что и кнопка печати на этой панели инструментов со страницы asp.net?
http://msdn.microsoft.com/en-us/library/ms252091(v=VS.80).aspx
Это самое близкое, что я нашел, однако я не использую локальные отчеты (поэтому было бы целесообразно, если бы где-то была встроенная функция), и он пропускает диалоговую часть принтера, что недопустимо. Я не верю, что могу вызвать printdialog winforms на странице asp.net, но я не пытался это сделать. Любая помощь приветствуется.
1 ответ
Вот скрипт для вызова диалогового окна печати:
<script language="javascript">
function PrintReport() {
var viewerReference = $find("ReportViewer1");
var stillonLoadState = clientViewer.get_isLoading();
if (!stillonLoadState ) {
var reportArea = viewerReference .get_reportAreaContentType();
if (reportArea == Microsoft.Reporting.WebFormsClient.ReportAreaContent.ReportPage) {
$find("ReportViewer1").invokePrintDialog();
}
}
}
</script>
Чтобы вызвать, просто позвоните PrintReport()
Подробное объяснение здесь: http://blogs.msdn.com/b/selvar/archive/2011/04/09/invoking-the-print-dialog-for-report-viewer-2010-control-using-the-javascript-api.aspx