2017-02-02 28 views
0

WPFアプリケーションにレポートビューアを追加しようとしています。私はThis Siteの手順に従ってきましたが、今、私はこのエラーを取得しています:私はまた、「新しい場合はコピーする.rdlcファイルを設定したレポート 'レポート名'のレポート定義が指定されていません

private void Reportviewer_Load(object sender, EventArgs e) 
    { 
     if (!_IsReportViewerLoaded) 
     { 
      Microsoft.Reporting.WinForms.ReportDataSource reportData = new Microsoft.Reporting.WinForms.ReportDataSource(); 
      Consolidated_DBDataSet conSet = new Consolidated_DBDataSet(); 
      conSet.BeginInit(); 

      reportData.Name = "ConSegSet"; 
      reportData.Value = conSet.Cnsldtd_Performance_tbl; 
      this.reportViewer.LocalReport.DataSources.Add(reportData); 
      this.reportViewer.LocalReport.ReportEmbeddedResource = "FP Reporting Dashboard.ConSegReport.rdlc"; 

      conSet.EndInit(); 

      Consolidated_DBDataSetTableAdapters.Cnsldtd_Performance_tbl_CLONETableAdapter conAD = new Consolidated_DBDataSetTableAdapters.Cnsldtd_Performance_tbl_CLONETableAdapter(); 
      conAD.ClearBeforeFill = true; 
      conAD.Fill(conSet.Cnsldtd_Performance_tbl_CLONE); 

      reportViewer.RefreshReport(); 

      _IsReportViewerLoaded = true; 
     } 
    } 

:ここ

An error occurred during local report processing. The report definition for report 'ConSegReport' has not been specified. Object reference not set to an instance of an object.

は私のコードです"出力ディレクトリ。

答えて

0

SSRSにアップロードされたレポートは、常に埋め込みレポートを参照しようとしたことはありません。

IReportServerCredentials irsc = new CustomReportCredentials(rc.report_ssrs_username, 
    rc.report_ssrs_password, rc.report_ssrs_domain); 
ReportViewer1.ServerReport.ReportServerCredentials = irsc; 
ReportViewer1.ServerReport.ReportPath = rc.report_ssrs_path; 
ReportViewer1.ServerReport.ReportServerUrl = new System.Uri(rc.report_ssrs_url); 

SqlConnectionStringBuilder conString = new Database().conBuilder; 
List<ReportParameter> parameters = new List<ReportParameter>(); 
parameters.Add(new ReportParameter("ConString", conString.ConnectionString)); 
ReportViewer1.ServerReport.SetParameters(parameters); 
DataSourceCredentials dsc = new DataSourceCredentials(); 
dsc.Name = ReportViewer1.ServerReport.GetDataSources()[0].Name; 
dsc.UserId = conString.UserID; 
dsc.Password = conString.Password; 
ReportViewer1.ServerReport.SetDataSourceCredentials(new DataSourceCredentials[] { 
    dsc }); 

ReportViewer1.ShowCredentialPrompts = false; 
ReportViewer1.ServerReport.Refresh(); 

あなたは私がここに持っているものについての質問がある場合は、私に教えてください:ここで

は多分それに役立つだろう、私のコードです。私たちはすべてのレポートを定義し、それをクエリしてレポートビューアのコントロールを動的にレンダリングする単一のテーブルを持っています。

ちょうど私はRDLCファイルのアンダースコア命名規則を使用します。それが正しく説明されていないと、コードが上がる可能性があります。また、デバッグディレクトリまたはリリースディレクトリからファイルを参照しようとしている場合には、相対パスの問題ではないことを確認するためにフルパスを参照してみてください。

関連する問題