Share via


Integrieren von Reporting Services mithilfe des URL-Zugriffs – Windows-Anwendung

Obwohl der URL-Zugriff auf einen Berichtsserver für eine Webumgebung optimiert ist, können Sie mit dem URL-Zugriff auch Reporting Services-Berichte in eine Microsoft Windows-Anwendung integrieren. Aber der URL-Zugriff, der auch Windows Forms umfasst, erfordert trotzdem die Verwendung der Webbrowsertechnologie. Sie können folgende Integrationsszenarien mit dem URL-Zugriff und Windows Forms verwenden:

  • Zeigen Sie einen Bericht in einer Windows Forms-Anwendung an, indem Sie einen Webbrowser programmgesteuert starten.

  • Verwenden Sie das WebBrowser-Steuerelement auf einer Windows Form, um einen Bericht anzuzeigen.

Starten von Internet Explorer aus einem Windows-Formular

Sie können über die Process-Klasse auf einen Prozess zugreifen, der auf einem Computer ausgeführt wird. Die Process-Klasse ist ein nützliches Microsoft .NET Framework-Konstrukt zum Starten, Anhalten, Steuern und Überwachen von Anwendungen. Um einen bestimmten Bericht in der Berichtsserver-Datenbank anzuzeigen, können Sie den Prozess IExplore starten, indem Sie die URL an den Bericht übergeben. Das folgende Codebeispiel kann verwendet werden, um Microsoft Internet Explorer zu starten und eine bestimmte Berichts-URL zu übergeben, wenn der Benutzer eine Schaltfläche in einem Windows-Formular auswählt.

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);  
   }  
}  

Einbetten eines Browsersteuerelements in ein Windows Form

Wenn Sie Ihren Bericht nicht in einem externen Webbrowser anzeigen möchten, können Sie einen Webbrowser nahtlos als Teil Ihres Windows Form-Steuerelements WebBrowser einbetten.

So fügen Sie der Windows Form das Webbrowser-Steuerelement hinzu
  1. Erstellen Sie eine neue Windows-Anwendung in Microsoft C# oder Microsoft Visual Basic.

  2. Suchen Sie im Dialogfeld Toolbox das WebBrowser-Steuerelement.

    Wenn die Toolbox nicht sichtbar ist, können Sie darauf zugreifen, indem Sie das Menüelement "Ansicht" und dann "Toolbox" auswählen.

  3. Ziehen Sie das WebBrowser-Steuerelement auf die Entwurfsoberfläche des Windows Form.

    Das als webBrowser1 bezeichnete WebBrowser-Steuerelement wird zum Formular hinzugefügt.

Sie leiten das WebBrowser-Steuerelement an eine URL weiter, indem Sie seine Navigate-Methode aufrufen. Sie können dem WebBrowser-Steuerelement zur Laufzeit eine bestimmte URL-Zugriffszeichenfolge zuordnen, wie in folgendem Beispiel gezeigt.

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);  

Integrating Reporting Services into Applications (Integration von Reporting Services in Anwendungen)
Integrieren von Reporting Services mithilfe des URL-Zugriffs
Integrieren von Reporting Services mithilfe von SOAP
Integrieren von Reporting Services mithilfe der ReportViewer-Steuerelemente
URL-Zugriff (SSRS)