2012-06-15 5 views
2

날짜를 입력으로 보내기 때문에 수동으로 값을 데이터 집합에 채워서 rdlc 보고서를 생성하려고합니다. 다음 코드를 사용하여 해당 작업을 수행합니다.RDLC 보고서가 데이터를 표시하지 않고로드를 계속합니다.

//my list get populated with the relevant records according to its date and I'm using the tableadapter of my dataset to do that 

List<DailySalesEntity> list = DailySalesHandler.GetSalesByDate(dateTimePicker1.Value); 
      reportViewer1.LocalReport.DataSources.Clear(); 
      Microsoft.Reporting.WinForms.ReportDataSource report = new Microsoft.Reporting.WinForms.ReportDataSource("DataSet_Dailysales", list); 
      reportViewer1.LocalReport.DataSources.Add(report); 
      reportViewer1.LocalReport.Refresh(); 

테이블 릭스를 사용하여 데이터 세트를 사용하여 데이터를 표시하고 있습니다. 올바른 보고서를 보고서 뷰어에 설정했습니다. 예외가 없습니다. 그러나 보고서는 계속로드되며 보고서는 표시되지 않습니다. 내가 잘못하고 있는게 뭐지?

매개 변수를 쿼리에 전달하여 데이터 집합을 채우고 결과 데이터 집합을 보고서에 어떻게 사용할 수 있습니까?

답변

8

방금이 문제가 발생하여 해결되었습니다. 로딩 표시가 계속 나타나고 절대로 사라지지 않습니다. 제 경우에는 문제가 IsPostBack 값을 처리하지 못한다는 것이 었습니다. LocalReport.Refresh()은 다시 게시를 생성하고 처리되지 않으면 계속 게시 및 게시됩니다.

이것은 내 문제였습니다. 벽 건설 Refrеsh으로 페이지가 포스트 백

protected void Page_Load(object sender, EventArgs e) 
{ 
    // Report data source code... 
    myReport.LocalReport.Refresh(); 
} 

솔루션을하고 유지 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!IsPostBack) 
    { 
     // Report data source code... 
     myReport.LocalReport.Refresh(); 
    } 
} 

그래서, 당신은 포스트 백을 처리하고 무한 루프를 받고 있지 않은지 확인합니다.

관련 문제