1

.NET 4.5、Visual Studio 2012のwinformsプロジェクトがあり、Visual Studio 2012のreportViewerコントロールを使用して、かなりの数のSSRS2005リモートレポートを表示することになっています。

どうやら、Visual Studio 2012でreportViewerを使用してリモートレポートを表示するには、ReportingServicesレポートサーバーがSQLServer2008以降である必要があります。だから私は立ち往生していて、回避策があるのではないか、またはVS2012プロジェクト内でVS2008用のreportViewerを使用することが可能かどうか疑問に思っています。

取得している

リモートレポート処理には、Microsoft SQL Server 2008ReportingServices以降が必要です

これがレポートソースの設定方法です

private void SetReportParameters()
        {
            //Set Processing Mode
            reportViewer1.ProcessingMode = ProcessingMode.Remote;

            // Set report server and report path
            reportViewer1.ServerReport.ReportServerUrl = new Uri("http://Server/ReportServer");
            reportViewer1.ServerReport.ReportPath = "/MyApplicationReports/ReportName";

            ReportParameterInfoCollection pInfo = default(ReportParameterInfoCollection);
            System.Collections.Generic.List<ReportParameter> paramList = new System.Collections.Generic.List<ReportParameter>();

            paramList.Add(new ReportParameter("EmpID", OriginalEmployeeID.ToString(), false));
            reportViewer1.ServerReport.SetParameters(paramList);
            pInfo = reportViewer1.ServerReport.GetParameters();

            // Process and render the report
            reportViewer1.RefreshReport();

        }

その後

 private void EmployeeLeaveHistory_Load(object sender, EventArgs e)
    {
        SetReportParameters();
        this.reportViewer1.RefreshReport();
    }

または、最初にリモートレポートを取得し、それをローカルレポートオブジェクトに変換して、レポートビューアにローカルレポートオブジェクトを表示するための場所がありますか?

4

1 に答える 1

2

私は解決策を得ました。プロジェクト参照に移動し、VisualStudio2012のMicrosoft.ReportViewer.Common.dllとMicrosoft.ReportViewer.WinForms.dllの両方を削除しました。

次に、Visual Studio 9(VS 2008)用のMicrosoft.ReportViewer.Common.dllおよびMicrosoft.ReportViewer.WinForms.dllへの参照を再度追加しました。現在、VS2008のreportviewerはVS2012内で機能しています。

于 2013-02-06T12:56:57.513 に答える