2013-06-11 3 views
3

보고서를 생성 할 때 문제가 있습니다.rdlc xml 문자열에서 보고서 생성

  1. 하는 로컬 RDLC 파일을 만듭니다

    나는 동적으로 (소스 이름과 XML 문자열로 저장하는 RDLC 보고서)

    그래서 내가 문제를 다음 방법으로 해결하기위한 데이터베이스에서 모든 데이터를 사용하여 보고서를 생성한다 report xml string;

  2. 파일 경로를 설정하십시오.

    var rViewer = new ReportViewer(); 
    rViewer.LocalReport.ReportPath = @"Path to the generated xml rdlc file"; 
    var dataSource = new ReportDataSource("DataSourceName", data); 
    rViewer.LocalReport.DataSources.Add(dataSource); 
    

나는 코드 숨김에서 지정할 수 있습니다 직접에 RDLC 파일 및 설정 경로를 생성하는 XML 문자열을 대신보고? 더 나은 방법을 추천 해 주시겠습니까?

는, 당신은

답변

4

예, 당신은 그것과 같이 LoadReportDefinition을 사용하여 StringReader를 객체를 제공 할 수 있습니다 감사

Report.Defintion이 보고서의 정의의 XML을 포함하는 문자열입니다
private void Page_Load(object sender, System.EventArgs e) 
{ 
    NMBS.ViewModels.ViewModelReport Report = (Session["CurrentReport"] as NMBS.ViewModels.ViewModelReport); 
ReportViewer.ProcessingMode = ProcessingMode.Local; 
ReportViewer.PageCountMode = PageCountMode.Actual; 

// Set report specifics. 
ReportViewer.LocalReport.DisplayName = Report.Name; 
ReportViewer.LocalReport.LoadReportDefinition(new System.IO.StringReader(Report.Definition)); 
foreach (ReportParameter Param in Report.Parameters) 
{ 
    ReportViewer.LocalReport.SetParameters(Param); 
} 
foreach (ReportDataSource Rds in Report.Data) 
{ 
    //Load Report Data. 
    ReportViewer.LocalReport.DataSources.Add(Rds); 
} 
ReportViewer.CurrentPage = Report.CurrentPage; 
ReportViewer.Width = Report.Width; 

// Refresh the reports. 
ReportViewer.LocalReport.Refresh(); 
} 

.