Tym razem chcemy zlecić wykonanie do Reporting Services i wyświetlić raport w kontrolce na naszej stronie/formularzu.
No cóż, to proste. Przeciągnij na formularz kontrolkę Report Viewer. Dodaj przycisk uruchamiający raport. W razie potrzeby dodaj referencje do bibliotek
- Microsoft.ReportViewer.Common
Microsoft.ReportViewer.WinForms lub Microsoft.ReportViewer.WebForms
Dopisz w kodzie deklaracje using:
using Microsoft.Reporting.WinForms
Teraz oprogramuj kliknięcie przycisku:
private void button2_Click(object sender, EventArgs e)
{
reportViewer1.ProcessingMode = ProcessingMode.Remote;
ServerReport serverReport = reportViewer1.ServerReport;
System.Net.ICredentials credentials =
System.Net.CredentialCache.DefaultCredentials;
serverReport.ReportServerCredentials.NetworkCredentials = credentials;
serverReport.ReportServerUrl = new Uri (http://localhost/reportserver);
serverReport.ReportPath = „/AdventureWorks2008 Sample Reports/Company Sales 2008”;
reportViewer1.RefreshReport();
}
I to wszystko. Na uwagę zasługuje fakt, że kontrolka report viewer potrafi także wygenerować raport samodzielnie, bez udziału Report Servera. W tym celu należałoby użyć ProcessingMode.Local. Proces ten jest o tyle trudniejszy, że należy w aplikacji samodzielnie załadować plik RDL raportu oraz utworzyć DataSet z odpowiednio nazwanymi tabelami. Jest to jednak do zrobienia.
Tu doczytasz więcej:
http://msdn.microsoft.com/en-us/library/aa337089(v=sql.100).aspx