Как вызвать print из asp.net на элементе управления ReportViewer? - PullRequest
3 голосов
/ 17 августа 2010

Я использую ssrs с элементом управления отчетами asp.net для отображения отчетов сервера.Мы хотим покончить с панелью инструментов, потому что она не соответствует нашему внешнему виду и ощущениям, но мы хотим сохранить некоторые функциональные возможности, с которой я борюсь - это печать.Есть ли какой-нибудь способ вызвать то же диалоговое окно печати, что и кнопка печати на этой панели инструментов со страницы asp.net?Я не использую локальные отчеты (поэтому было бы целесообразно, если бы где-то была встроенная функция), и он пропускает диалоговую часть принтера, что недопустимо.Я не верю, что могу вызвать printdialog winforms на странице asp.net, но я не пытался это сделать.Любая помощь будет высоко ценится.

1 Ответ

2 голосов
/ 13 июня 2011

Вот скрипт для вызова диалогового окна печати:

<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

...