帮助报告查看器

时间:2010-03-19 07:47:01

标签: c# reportviewer

我的项目表包含每个项目都有特定日期的项目。我想生成一个报告,显示两个不同日期之间的项目。例如,我放了两个timedatepicker控件,以便用户选择From:24/9/2009 To:19/3/2010然后按一个按钮生成这些日期之间的项目报告。

我正在使用报表查看器控制btw而不是水晶报表。

编辑:

好吧我用linq查询想出来并将它绑定到数据源,如下所示:

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();

2 个答案:

答案 0 :(得分:1)

  • 在查询的where子句中使用date(From / to)。或者如果您使用DataTable,请使用.Select过滤特定记录。如下所示:

    string strFilter =“dateFromCol&gt;”+ DateFrom.Value +“and dateToCol&lt;”+ DateTo.Value; yourTable.Select(strFilter的);

  • 将.DataSource属性与DataTable绑定。

    reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(“yourDataSourceName”,yourTable));

  • 刷新ReportViewer

This article有一个简单的例子,可以帮助您入门。

答案 1 :(得分: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();