Печать служб отчетов на странице через Javascript - PullRequest
1 голос
/ 27 апреля 2010

У меня есть Сервер PerformancePoint 2007 Панель инструментов на странице Sharepoint 2007 .

На моей странице Sharepoint есть 2 фильтра, которые передаются в отчет, и мне нужно распечатать этот отчет на странице (в другой кнопке, а не в SSRS).

Так что мне нужен метод javascript, который вызывает кнопку печати SSRS, которая находится в именованном DIV, внутри WebPartZone, в котором есть только одна веб-часть, элемент панели мониторинга PerformancePoint (не знаю точное имя веб-части) .

Edit: Я заметил, что отчет, отображаемый веб-частью сервера PerformancePoint, отображается с помощью IFrame на моей странице Sharepoint.

Edit2: Из-за моей архитектуры службы отчетов Iframe находятся на другом сервере, что приводит к отказу в доступе при доступе через JavaScript. Таким образом, вопрос в том виде, в котором я хотел, больше не отвечает, однако я постараюсь ответить на вопрос непосредственно в службах отчетности, просто чтобы обеспечить точный ответ на вопрос.

Ответы [ 2 ]

2 голосов
/ 27 апреля 2010

Событие onclick для кнопки печати - document.getElementById('ReportViewerControl').ClientController.LoadPrintControl();return false;, однако мне не удалось просто добавить это к другой ссылке за пределами средства просмотра отчетов. Это имеет смысл, поскольку вы можете иметь несколько отчетов на странице и по одной кнопке печати для каждого.

Может быть, вы можете попробовать принудительно нажать кнопку печати?
document.getElementById('ReportViewerControl_ctl01_ctl07_ctl00_ctl00').onclick();
в любом случае, в моем документе.

1 голос
/ 28 мая 2010

решено: Так как SSRS был внутри Iframe моего Sharepoint, я должен был заглянуть внутрь Iframe (это работает только тогда, когда Iframe обращается к тому же серверу веб-страницы, к которой в данный момент обращались, иначе мы получим отказ в доступе в javascript и произойдем сбой в автоматическом режиме) Я использовал JQuery для упрощения и использовал IE 8 для поиска узлов (поскольку PerformancePoint Server 2007 не отображается в Firefox)

Javascript Натана мне очень помог, я проверил структуру кнопки html и обнаружил, что это таблица, которая обрабатывает щелчок, и у таблицы есть атрибут с названием title и значением Print (обратите внимание на верхний регистр на первой букве) поэтому я написал этот маленький JQuery Javascript, чтобы решить эту проблему.

$('iframe').contents().find('table[title="Print"]').click();

помня, что это мне не поможет, потому что в моем случае SSRS размещен на другом сервере, и поэтому он не доступен через javascript, я только что завершил ответ, чтобы помочь другим людям в этой ситуации.

...