Bagikan melalui


Mengintegrasikan Reporting Services dengan menggunakan akses URL - Aplikasi Windows

Meskipun akses URL ke server laporan dioptimalkan untuk lingkungan Web, Anda juga dapat menggunakan akses URL untuk menyematkan laporan Reporting Services ke dalam aplikasi Microsoft Windows. Namun, akses URL yang melibatkan Formulir Windows masih mengharuskan Anda menggunakan teknologi browser Web. Anda dapat menggunakan skenario integrasi berikut dengan akses URL dan Formulir Windows:

  • Tampilkan laporan dari aplikasi Formulir Windows dengan memulai browser Web secara terprogram.

  • WebBrowser Gunakan kontrol pada Formulir Windows untuk menampilkan laporan.

Memulai Internet Explorer dari Formulir Windows

Anda dapat menggunakan Process kelas untuk mengakses proses yang berjalan di komputer. Kelas Process ini adalah konstruksi Microsoft .NET Framework yang berguna untuk memulai, menghentikan, mengontrol, dan memantau aplikasi. Untuk melihat laporan tertentu di database server laporan, Anda dapat memulai proses IExplore , meneruskan URL ke laporan. Contoh kode berikut dapat digunakan untuk memulai Microsoft Internet Explorer dan meneruskan URL laporan tertentu saat pengguna memilih tombol pada Formulir 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);  
   }  
}  

Menyematkan kontrol browser pada Formulir Windows

Jika Anda tidak ingin menampilkan laporan Anda di browser Web eksternal, Anda bisa menyematkan browser Web dengan mulus sebagai bagian dari Formulir Windows Anda dengan menggunakan WebBrowser kontrol.

Untuk menambahkan kontrol WebBrowser ke Formulir Windows Anda
  1. Buat aplikasi Windows baru di Microsoft C# atau Microsoft Visual Basic.

  2. WebBrowser Temukan kontrol di Kotak Dialog Kotak Alat.

    Jika Kotak Alat tidak terlihat, Anda dapat mengaksesnya dengan memilih item menu Tampilan dan memilih Kotak Alat.

  3. Seret kontrol ke WebBrowserpermukaan desain Formulir Windows Anda.

    WebBrowserKontrol bernama webBrowser1 ditambahkan ke Formulir

Anda mengarahkan WebBrowser kontrol ke URL dengan memanggil metode Navigasinya. Anda dapat menetapkan string akses URL tertentu ke kontrol Anda WebBrowser pada waktu proses seperti yang ditunjukkan dalam contoh berikut.

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