常見以程式方式透過ReportViewer來顯示報表的錯誤排除

常見以程式方式透過ReportViewer來顯示報表的錯誤排除

【錯誤訊息】尚未指定報表定義的來源

原始程式碼:

   1:  rvReport.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer);
   2:  rvReport.ServerReport.SetParameters(new ReportParameter("p1", "p1 value"));
   3:  rvReport.ServerReport.ReportPath = "/MyReport/Report1";
   4:  rvReport.ServerReport.Refresh();

 

 

【解決方式】

SetParameters方法必須在ReportPath屬性設定之後。改成下列順序即可。

修正程式碼:

   1:  rvReport.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer);
   2:  rvReport.ServerReport.ReportPath = "/MyReport/Report1";
   3:  rvReport.ServerReport.SetParameters(new ReportParameter("p1", "p1 value"));
   4:  rvReport.ServerReport.Refresh();

 

 

【錯誤訊息】要求失敗,HTTP 狀態 503 : Service Unavailable

原始程式碼:

   1:  rvReport.ServerReport.ReportPath = "/MyReport/Report1";
   2:  rvReport.ServerReport.SetParameters(new ReportParameter("p1", "p1 value"));
   3:  rvReport.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer);
   4:  rvReport.ServerReport.Refresh();

【解決方式】

ReportServerUrl屬性必須置於SetParameters方法前。

修正程式碼:

   1:  rvReport.ServerReport.ReportServerUrl = new Uri("http://localhost/ReportServer);
   2:  rvReport.ServerReport.ReportPath = "/MyReport/Report1";
   3:  rvReport.ServerReport.SetParameters(new ReportParameter("p1", "p1 value"));
   4:  rvReport.ServerReport.Refresh();

 

 

【結論】

以程式方式透過ReportViewer來顯示報表時,必須依照下列順序:

image