1

J'ai un PerformancePoint Server 2007 Tableau de bord dans un Sharepoint 2007 page.Impression Reporting Services dans une page à travers Javascript

Dans ma page Sharepoint, il y a 2 filtres qui sont passés au rapport, et j'ai besoin d'imprimer ce rapport dans la page (dans un autre bouton, pas celui de SSRS). J'ai donc besoin d'une méthode javascript qui appelle le bouton d'impression SSRS, qui se trouve sur un DIV nommé, dans un WebPartZone qui n'a qu'un seul WebPart, un élément de tableau de bord PerformancePoint (je ne connais pas le nom exact de la partie web)).

Edit: J'ai remarqué que le rapport, qui est présenté par un PerformancePoint Server webpart, est montré par un IFrame dans ma page Sharepoint.

Edit2: En raison de mon architecture les services d'information Iframe est sur un autre serveur, ce qui provoque Accès refusé lors de l'accès par javascript. Donc, la question de la façon dont je voulais ne répond plus, mais je vais essayer de répondre à la question directement dans les services de rapports, juste pour que la réponse à la question soit précise.

Répondre

1

a résolu le problème: Depuis l'SSRS était dans un Iframe de mon Sharepoint je devais regarder à l'intérieur de l'iframe (cela ne fonctionne que lorsque l'accès Iframe le même serveur de la page Web actuellement accessible, ou bien nous allons obtenir un accès refusé en javascript et échoue silencieusement) J'ai utilisé JQuery pour simplifier les choses et j'ai utilisé IE 8 pour rechercher les nœuds (puisque PerformancePoint Server 2007 n'apparait pas dans Firefox)

Le javascript de Nathan m'a aidé beaucoup, j'ai coché le bouton structure html et trouve que c'est une table qui gère le clic et la table a un attribut appelé titre avec une valeur appelée Imprimer (notez les majuscules sur la lettre firt), alors j'ai écrit ce petit JQuery Javasc ript pour résoudre ce problème.

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

se rappelant que cela ne me aider, parce que dans mon cas, le SSRS est hébergé sur un autre serveur, et donc il n'est pas accessible throught javascript, je viens de terminer la réponse à aider d'autres personnes dans cette situation .

2

L'événement onclick pour le bouton d'impression est document.getElementById('ReportViewerControl').ClientController.LoadPrintControl();return false;, mais je n'ai pas réussi à ajouter cela à un autre lien en dehors du visualiseur de rapports. C'est logique, car vous pouvez avoir plusieurs rapports sur une page et il y a un bouton d'impression pour chacun. Peut-être que vous pouvez essayer de forcer un clic du bouton d'impression?


document.getElementById('ReportViewerControl_ctl01_ctl07_ctl00_ctl00').onclick();
dans mon document, de toute façon.

+0

par la façon dont le rapport est affiché par un PerformancePoint Server webpart, mais je sais qu'il est hébergé dans un iFrame. Mais ne vais-je pas entrer dans les appels cross domaine js prob si mon serveur SSRS est sur une autre machine? –

+1

J'ai testé sur la visionneuse de rapports, parce que le point de performance webpart ne s'affiche pas dans Firefox, donc je n'ai pas pu tester. Désolé pour ça. –