常見以程式方式透過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來顯示報表時,必須依照下列順序: