質問

私は持っています PerformancePointサーバー 2007ダッシュボード SharePoint 2007 ページ。

私のSharePointページには、レポートに渡される2つのフィルターがあります。このレポートをページに印刷する必要があります(SSRSのボタンではなく)。

したがって、必要なのは、1つのWebパート、パフォーマンスポイントダッシュボードアイテムのみを備えたWebパートゾーン内にあるSSRS印刷ボタンを呼び出すJavaScriptメソッドです。

編集:PerformancePoint Server WebPartによって表示されているレポートは、SharePointページのIFRAMEによって表示されていることに気付きました。

編集2:私のアーキテクチャのために、レポートサービスIFRAMEは別のサーバー上にあり、JavaScriptを介してアクセスするときにアクセスを拒否します。したがって、私が望んだ方法での質問はもう答えられませんが、質問の答えを正確に保つために、レポートサービス内に直接質問に答えようとします。

役に立ちましたか?

解決 2

それを解決しました:SSRSは私のSharePointのiframe内にあったので、iframe内を見る必要がありました(これは、現在アクセスされているWebページの同じサーバーにアクセスした場合にのみ機能します。そうでなければ、JavaScriptで拒否され、静かに失敗します) JQueryを使用して物事をより簡単にし、IE 8を使用してノードを検索しました(PerformancePoint Server 2007がFirefoxには表示されないため)

NathanのJavaScriptは私を大いに助けてくれました。ボタンHTML構造をチェックして、それがハンドルのクリックであり、テーブルには印刷と呼ばれる値と呼ばれる属性があることを見つけました(Firt Letterの大文字に注意してください)。これを解決するためのこの小さなjquery javascript。

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

私の場合はSSRSが別のサーバーでホストされているため、JavaScriptを通じてアクセスできないため、この状況で他の人を助けるために答えを完了したばかりなので、これは私を助けないことを思い出してください。

他のヒント

印刷ボタンのオンクリックイベントはです document.getElementById('ReportViewerControl').ClientController.LoadPrintControl();return false;, しかし、私はそれをレポートビューアー以外の別のリンクに追加するだけで失敗しました。ページに複数のレポートがあり、それぞれに1つの印刷ボタンがあるため、それは理にかなっています。

たぶん、印刷ボタンをクリックして強制してみることができますか?
document.getElementById('ReportViewerControl_ctl01_ctl07_ctl00_ctl00').onclick();
とにかく私の文書で。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top