次の方法で共有


Windows アプリケーションでの URL アクセスの使用

更新 : 2006 年 7 月 17 日

レポート サーバーへの URL アクセスは Web 環境用に最適化されていますが、URL アクセスを使用して Reporting Services レポートを Microsoft Windows アプリケーションに埋め込むこともできます。ただし、Windows フォームに関連する URL アクセスでは、Web ブラウザ テクノロジを使用する必要があります。URL アクセスと Windows フォームでは、次の統合シナリオを使用できます。

  • プログラムで Web ブラウザを起動し、Windows フォーム アプリケーションからレポートを表示します。
  • Windows フォームで WebBrowser コントロールを使用し、レポートを表示します。

Windows フォームからの Internet Explorer の起動

Process クラスを使用して、コンピュータで実行されているプロセスにアクセスできます。Process クラスは、アプリケーションの起動、停止、制御、および監視に役立つ Microsoft .NET Framework の構成要素です。レポート サーバー データベースの特定のレポートを表示するには、レポートへの URL を渡して IExplore プロセスを起動できます。次のコード例を使用すると、ユーザーが Windows フォームのボタンをクリックしたときに Microsoft Internet Explorer が起動し、特定のレポート URL を渡すことができます。

Private Sub viewReportButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles viewReportButton.Click
   ' Build the URL access string based on values supplied by a user
   Dim url As String = serverUrlTextBox.Text + "?" & reportPathTextBox.Text & _
   "&rs:Command=Render" & "&rs:Format=HTML4.0"

   ' If the user does not select the toolbar check box,
   ' turn the toolbar off in the HTML Viewer
   If toolbarCheckBox.Checked = False Then
      url += "&rc:Toolbar=False"
   End If
   ' load report in the Web browser
   Try
      System.Diagnostics.Process.Start("IExplore", url)
   Catch
      MessageBox.Show("The system could not start the specified report using Internet Explorer.", _
      "An error has occurred", MessageBoxButtons.OK, MessageBoxIcon.Error)
   End Try
End Sub 'viewReportButton_Click
// Sample click event for a Button control on a Windows Form
private void viewReportButton_Click(object sender, System.EventArgs e)
{
   // Build the URL access string based on values supplied by a user
   string url = serverUrlTextBox.Text + "?" + reportPathTextBox.Text +
      "&rs:Command=Render" + "&rs:Format=HTML4.0";

   // If the user does not check the toolbar check box,
   // turn the toolbar off in the HTML Viewer
   if (toolbarCheckBox.Checked == false)
      url += "&rc:Toolbar=False";

   // load report in the Web browser
   try
   {
      System.Diagnostics.Process.Start("IExplore", url);
   }

   catch (Exception)
   {
      MessageBox.Show(
         "The system could not open the specified report using Internet Explorer.", 
         "An error has occurred", MessageBoxButtons.OK, MessageBoxIcon.Error);
   }
}

レポート サーバーの URL アクセス文字列の特定の構文に関する詳細については、「URL アクセスの構文」を参照してください。

Windows フォームへのブラウザ コントロールの埋め込み

外部 Web ブラウザでレポートを表示したくない場合は、WebBrowser コントロールを使用して、Windows フォームの一部としてシームレスに Web ブラウザを埋め込むことができます。

Windows フォームに WebBrowser コントロールを追加するには

  1. Microsoft Visual C# または Microsoft Visual Basic で新しい Windows アプリケーションを作成します。
  2. [ツールボックス] ダイアログ ボックスで WebBrowser コントロールを探します。
    ツールボックスが表示されていない場合は、[表示] メニュー項目をクリックして [ツールボックス] を選択するとアクセスできます。
  3. WebBrowser コントロールを Windows フォームのデザイン画面にドラッグします。
    webBrowser1 という WebBrowser コントロールがフォームに追加されます。

WebBrowser コントロールを URL に指定するには、Navigate メソッドを呼び出します。次の例に示すように、実行時に特定の URL アクセス文字列を WebBrowser コントロールに割り当てることができます。

Dim url As String = "https://localhost/reportserver?/" & _
                    "AdventureWorks Sample Reports/" & _
                    "Company Sales&rs:Command=Render"
WebBrowser1.Navigate(url)
string url = "https://localhost/reportserver?/" +
             "AdventureWorks Sample Reports/" +
             "Company Sales&rs:Command=Render";
webBrowser1.Navigate(url);

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • WebBrowser コントロールの使用に関する内容を更新しました。

参照

概念

アプリケーションへの Reporting Services の統合
ReportViewer コントロールを使用した Reporting Services の統合

その他の技術情報

URL アクセスを使用した Reporting Services の統合
SOAP を使用した Reporting Services の統合
URL アクセス

ヘルプおよび情報

SQL Server 2005 の参考資料の入手