Freigeben über


Verwenden des URL-Zugriffs in einer Windows-Anwendung

Obwohl der URL-Zugriff auf einen Berichtsserver für eine Webumgebung optimiert ist, können Sie auch URL-Zugriff verwenden, um Reporting Services-Berichte in eine Microsoft Windows-Anwendung einzubetten. Der URL-Zugriff, der Windows Forms umfasst, erfordert jedoch weiterhin, dass Sie die Webbrowsertechnologie verwenden. Sie können die folgenden Integrationsszenarien mit URL-Zugriff und Windows Forms verwenden:

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

  • Verwenden Sie das WebBrowser Steuerelement in einem Windows-Formular, um einen Bericht anzuzeigen.

Starten von Internet Explorer aus einem Windows-Formular

Sie können die Process Klasse verwenden, um auf einen Prozess zuzugreifen, der auf einem Computer ausgeführt wird. Die Process Klasse ist ein nützliches Microsoft .NET Framework-Konstrukt zum Starten, Beenden, Steuern und Überwachen von Anwendungen. Um einen bestimmten Bericht in Ihrer Berichtsserverdatenbank anzuzeigen, können Sie den IExplore-Prozess starten und 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 auf eine Schaltfläche in einem Windows-Formular klickt.

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-Formulars mithilfe des WebBrowser Steuerelements einbetten.

So fügen Sie das WebBrowser-Steuerelement zu Ihrem Windows-Formular hinzu
  1. Erstellen Sie eine neue Windows-Anwendung in Microsoft Visual C# oder Microsoft Visual Basic.

  2. Suchen Sie das WebBrowser Steuerelement im Dialogfeld Toolbox .

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

  3. Ziehen Sie das WebBrowserSteuerelement auf die Entwurfsoberfläche Ihres Windows Form-Formulars.

    Das WebBrowserSteuerelement "webBrowser1" wird dem Formular hinzugefügt.

Sie leiten das WebBrowser Steuerelement an eine URL durch Aufrufen der Navigate-Methode weiter. Sie können Ihrem WebBrowser Steuerelement zur Laufzeit eine bestimmte URL-Zugriffszeichenfolge zuweisen, wie im folgenden Beispiel gezeigt.

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

Siehe auch

Integrieren von Reporting Services in Anwendungen
Integrieren von Reporting Services mit URL-Zugriff
Integrieren von Reporting Services mithilfe von SOAP
Integrieren von Reporting Services mithilfe der ReportViewer-Steuerelemente
URL-Zugriff (SSRS)