0

엔티티 프레임 워크와 함께 작동하는 Visual Studio 2013 웹 응용 프로그램이 있으며 RDLC 보고서를 사용하여 간단한 표 형식의 데이터 보고서를 표시하려고합니다.reportviewer가있는 페이지에서 rdlc에 매개 변수 전달

별도의 웹 페이지를 만들고 reportviewer 컨트롤을 추가했습니다. 또한 RDLC 파일을 만들고 사용자 지정 개체 List을 반환하는 C# 함수에서 데이터 원본을 추가했습니다. 이렇게하면 보고서 디자이너에서 구성 할 수 있지만 브라우저에 페이지가로드되면 A data source instance has not been supplied for the data source 'DataSet1' 오류가 표시됩니다.

보고서 디자인 enter image description here

I 데이터 소스를 제공하지 않는 오류를 얻었으나, Yuliam Chandra이 제안, 나는 아래의 코드를 추가 위의 구현을 위해

<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt" 
     WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt"> 
     <LocalReport ReportPath="Alumni\Reports\Report1.rdlc"></LocalReport> 
    </rsweb:ReportViewer> 

HTML 마크 업 및 이제 보고서가 작동합니다.

protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) 
     { 
      ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", Business.ReportManager.GetMemberDetails(1))); 
     } 
    } 

이 문제를 해결하는 데 도움을주십시오. RDLC를 사용하여 간단한 보고서 만 표시하면되고 데이터 원본은 개체 목록을 반환하는 인수가있는 공용 정적 함수입니다.

+0

어떻게 C# 함수에서 RDLC에 데이터 소스를 추가 했습니까? 제발 고맙습니다. – motto

답변

3

페이지로드시 데이터 소스를 설정 했습니까?

YourReportViewer.LocalReport.DataSources.Add(new ReportDataSource("testDataSet", list)); 
+0

데이터 소스와 데이터를 보고서 디자이너에 추가 했으므로 보고서도 데이터 세트 필드를 사용하여 설계되었습니다. 페이지로드시 데이터 소스를 다시 지정해야합니까? –

+0

aspx에서 reportviewer를 표시하고 질문을 업데이트하십시오. –

+0

안녕 율리암 찬드라, 질문을 업데이트했으며 주어진 구문을 사용하여 작업 할 보고서를 얻었습니다. 왜 코드 뒤에 동일한 데이터 소스를 명시 적으로 제공해야하는지 설명 할 수 있습니까? 감사! –