Integrujte Reporting Services pomocí přístupu k URL – aplikace Windows

Ačkoliv je přístup k URL serveru reportů optimalizován pro webové prostředí, můžete také využít přístup k URL k vložení Reporting Services reportů do Microsoft Windows aplikace. Nicméně přístup k URL zahrnujícímu model Windows Forms stále vyžaduje použití technologie webového prohlížeče. Můžete použít následující integrační scénáře s přístupem k URL a model Windows Forms:

  • Zobrazit report z aplikace Windows Form programovým spuštěním webového prohlížeče.

  • Použijte WebBrowser ovládání ve formuláři Windows pro zobrazení zprávy.

Spusťte Internet Explorer z formuláře Windows

Třídu Process můžete použít k přístupu k procesu, který běží na počítači. Třída Process je užitečným Microsoft .NET frameworkem pro spouštění, zastavování, řízení a monitorování aplikací. Pro zobrazení konkrétního reportu ve vaší databázi report serveru můžete spustit proces IExplore a předat URL zprávy. Následující příklad kódu lze použít k zahájení Microsoft Internet Explorer a předání konkrétní URL reportu, když uživatel vybere tlačítko ve formuláři Windows.

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

Vkládání ovládacího systému prohlížeče do formuláře Windows

Pokud nechcete zobrazit svou zprávu v externím webovém prohlížeči, můžete webový prohlížeč bez problémů vložit do svého formuláře WebBrowser Windows pomocí ovládacího ovládání.

Pro přidání ovládání WebBrowser do vašeho formuláře Windows
  1. Vytvořte novou Windows aplikaci buď v Microsoft C# nebo Microsoft Visual Basic.

  2. Ovládací prvky najdete WebBrowser v dialogovém okně Toolbox .

    Pokud není Toolbox viditelný, můžete k němu přistupovat výběrem položky v menu Zobrazit a výběrem Toolbox.

  3. Přetáhněte WebBrowserovládací panel na návrhovou plochu vašeho Windows Form.

    Ovládací WebBrowserprvky s názvem webBrowser1 jsou přidány do formuláře

Ovládací prvky nasměrujete WebBrowser na URL voláním metody Navigovat . Můžete přiřadit specifický URL přístupový řetězec ke svému WebBrowser řízení za běhu, jak je ukázáno v následujícím příkladu.

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