2017-02-02 1 views
0

WPF 응용 프로그램에 reportviewer를 추가하려고합니다. 나는 This Site의 단계를 따라했지만 지금은이 오류를 얻고있다 : 나는 또한 "새로운 경우 복사 할 수있는 .rdlc 파일을 설정 한보고서 '[Report Name]'에 대한 보고서 정의가 지정되지 않았습니다.

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 파일의 밑줄 명명 규칙을 사용합니다. 그것이 올바르게 설명되지 않으면 코드가 올라갈 수 있습니다. 또한 디버그 또는 릴리스 디렉토리에서 파일을 참조하려고 할 때 상대 경로 문제가 아닌지 확인하기 위해 전체 경로를 참조하십시오.

관련 문제