次の方法で共有


SharePoint 統合でのレポート ビューアー Web パーツのプログラミング

レポート ビューアー Web パーツは、ReportViewerWebPart サーバー コントロールです。このサーバー コントロールには、開発者がカスタム SharePoint アプリケーションを作成するためのパブリック アプリケーション プログラミング インターフェイス (API) のセットが含まれています。Web パーツ接続を使用して、レポート ビューアー Web パーツにレポートのパスおよびパラメーターを指定するカスタム Web パーツを作成できます。Web パーツをカスタム SharePoint Web パーツ ページに埋め込み、パブリック API を使用してカスタマイズすることもできます。

レポート ビューアー Web パーツとカスタム Web パーツとの接続

レポート ビューアー Web パーツは、IWebPartRow または IFilterValues を実装する SharePoint Web パーツに接続するコンシューマーです。ドキュメント Web パーツなどの IWebPartRow Web パーツを同じ Web パーツ ページにレポート ビューアー Web パーツとして配置すると、レポート ビューアー Web パーツにレポート パスを指定できます。同様に、テキスト フィルター Web パーツやフィルターの選択 Web パーツなどの IFilterValues Web パーツを同じ Web パーツ ページにレポート ビューアー Web パーツとして配置すると、レポート ビューアー Web パーツにレポート パラメーターを指定できます。

レポート パス プロバイダーと IWebPartRow の実装

Web パーツ接続を通じてレポート ビューアー Web パーツにレポートのパスを指定するには、次の手順に従います。

  1. IWebPartRow インターフェイスを実装する Web パーツを作成します。

  2. Web パーツを同じ Web パーツ ページにレポート ビューアー Web パーツとして追加します。

  3. Web ベースの Web パーツ デザイン ユーザー インターフェイスで Web パーツをレポート ビューアー Web パーツに接続します。

    注意

    レポート ビューアー Web パーツに一度に接続できる IWebPartRow Web パーツは 1 つだけです。レポート ビューアー Web パーツに IWebPartRow Web パーツおよび IFilterValues Web パーツの両方を同時に接続することはできません。

IWebPartRow Web パーツが ReportViewerWebPart で適切に機能するようにするには、GetRowData(RowCallback) メソッドで次の操作を行う必要があります。

  • DataRowView オブジェクトを入力パラメーターとして使用してコールバック メソッドを呼び出します。

  • DataRowView オブジェクトに、レポート パスを含む "DocUrl" という列が含まれるようにします。

    注意

    Office SharePoint Server 2010 用アドインのレポート ビューアー Web パーツでは、"FileRef" 列を使用するレポート パスを受信することもできます。

レポート パラメーター プロバイダーと IFilterValues の実装

IFilterValues を実装する Web パーツは、レポート ビューアー Web パーツに 1 つのパラメーター値を指定できます。レポート ビューアー Web パーツに送信されるパラメーター値には、レポート定義で指定された、レポート パラメーターに対する制限と同じ制限 (データ型、有効な値など) が課されます。

レポート ビューアー Web パーツにレポート パラメーターを指定するには、次の手順に従います。

  1. IFilterValues インターフェイスを実装する Web パーツを作成します。

  2. Web パーツを同じページに [T:Microsoft.ReportingServices.SharePoint.UI.WebParts.ReportViewerWebPart.] として追加します。

  3. Web ベースの Web パーツ デザイン ユーザー インターフェイスで IFilterValues Web パーツをレポート ビューアー Web パーツに接続します。

    注意

    一度に複数の IFilterValues Web パーツをレポート ビューアー Web パーツに接続できます。ただし、レポート ビューアー Web パーツに IWebPartRow Web パーツと IFilterValues Web パーツの両方を同時に接続することはできません。