2010-03-19 6 views
0

내 항목 테이블에 각 항목이있는 항목이 포함되어 있으며 특정 날짜가 있습니다. 두 개의 다른 날짜 사이에 항목을 표시하는 보고서를 생성하려고합니다. 예를 들어, 사용자가 From : 24/9/2009 To : 19/3/2010을 선택하고 두 날짜 사이의 항목에 대한 보고서를 생성 할 수 있도록 두 개의 TimedatePicker 컨트롤을 배치했습니다.보고서 뷰어에 대한 도움말

크리스탈 보고서가 아닌 보고서 뷰어 컨트롤을 사용하고 있습니다.

편집 :

var query = from c in MyDatabase01DataSet.Items 
        where c.ProductDate >= Convert.ToDateTime(x) && c.ProductDate <= Convert.ToDateTime(y) 
        select c; 
     ItemsBindingSource.DataSource = query.ToList(); 

     reportViewer1.LocalReport.ReportEmbeddedResource = "[reportTest.Report3.rdlc"; 
     reportViewer1.LocalReport.ReportPath = "Report3.rdlc"; 
     reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; 
     reportViewer1.RefreshReport(); 

답변

1
  • 를 사용하여 날짜를 (에 /에서) 쿼리의 where 절에서 :이 같은 데이터 소스에 LINQ 쿼리를 사용하여 바인딩을 파악

    좋아 . 또는 DataTable에있는 경우 .Select을 사용하여 특정 레코드를 필터링하십시오. 다음과 같은 것 :

    문자열 strFilter = "dateFromCol>"+ DateFrom.Value + "및 dateToCol <"+ DateTo.Value; yourTable.Select (strFilter);

  • DataTable에 .DataSource 속성을 바인딩하십시오.

    reportViewer1.LocalReport.DataSources.Add (새 ReportDataSource ("yourDataSourceName", yourTable)));

  • 당신의 ReportViewer 새로 고침

This article은 시작하는 데 도움이 있습니다 간단한 예제가 있습니다.

+0

다른 방법으로 생각했습니다. 하지만 시간 내 주셔서 감사합니다. – DanSogaard

0
var query = from c in MyDatabase01DataSet.Items 
        where c.ProductDate >= Convert.ToDateTime(x) && c.ProductDate <= Convert.ToDateTime(y) 
        select c; 

     ItemsBindingSource.DataSource = query.ToList(); 

     reportViewer1.LocalReport.ReportEmbeddedResource = "[reportTest.Report3.rdlc"; 
     reportViewer1.LocalReport.ReportPath = "Report3.rdlc"; 
     reportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local; 
     reportViewer1.RefreshReport(); 
관련 문제