Compartilhar via


Usando o Acesso à URL em um aplicativo do Windows

Embora o acesso à URL a um servidor de relatório seja otimizado para um ambiente Web, você também pode usar o acesso à URL para inserir relatórios do Reporting Services em um aplicativo do Microsoft Windows. No entanto, o acesso à URL que envolve o Windows Forms ainda requer que você use a tecnologia do navegador da Web. Você pode usar os seguintes cenários de integração com o acesso à URL e o Windows Forms:

  • Exiba um relatório de um aplicativo do Windows Form iniciando um navegador da Web programaticamente.

  • Use o WebBrowser controle em um Formulário do Windows para exibir um relatório.

Iniciando o Internet Explorer a partir de um Formulário do Windows

Você pode usar a Process classe para acessar um processo em execução em um computador. A Process classe é um constructo útil do Microsoft .NET Framework para iniciar, parar, controlar e monitorar aplicativos. Para exibir um relatório específico no banco de dados do servidor de relatório, você pode iniciar o processo IExplore , passando a URL para o relatório. O exemplo de código a seguir pode ser usado para iniciar o Microsoft Internet Explorer e passar uma URL de relatório específica quando o usuário clica em um botão em um Formulário do 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);  
   }  
}  

Inserindo um controle de navegador em um formulário do Windows

Se você não quiser exibir seu relatório em um navegador da Web externo, poderá inserir um navegador da Web perfeitamente como parte do seu Windows Form usando o WebBrowser controle.

Para adicionar o controle WebBrowser ao formulário do Windows
  1. Crie um novo aplicativo do Windows no Microsoft Visual C# ou no Microsoft Visual Basic.

  2. Localize o WebBrowser controle na caixa de diálogo Caixa de Ferramentas .

    Se a Caixa de Ferramentas não estiver visível, você poderá acessá-la clicando no item de menu Exibir e selecionando a Caixa de Ferramentas.

  3. Arraste o WebBrowsercontrole para a superfície de design do seu Windows Form.

    O WebBrowsercontrole chamado webBrowser1 é adicionado ao Formulário

Você direciona o WebBrowser controle para uma URL chamando seu método Navigate . Você pode atribuir uma cadeia de caracteres de acesso de URL específica ao controle WebBrowser em tempo de execução, conforme mostrado no exemplo a seguir.

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

Consulte Também

Integrando o Reporting Services em aplicativos
Integrando os Serviços de Relatórios usando Acesso à URL
Integrando o Reporting Services usando SOAP
Integrando o Reporting Services usando os controles ReportViewer
Acesso à URL (SSRS)