帮助报告查看器
问题描述:
我的项目表包含项目与每个项目都有一个特定的日期。我想生成一个显示两个不同日期之间项目的报告。例如,我会放置两个timedatepicker控件,以便用户选择From:24/9/2009 To:19/3/2010,然后按一个按钮生成这些日期之间的项目报告。帮助报告查看器
我使用报表查看器控制顺便说一句,没有水晶报告。
编辑:
好吧,我想通了使用LINQ查询并将其绑定到数据源是这样的:您的查询的WHERE子句中
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();
答
-
使用日期(自/至) 。或者如果您使用
DataTable
,则使用.Select
来过滤特定的记录。类似如下:string strFilter =“dateFromCol>”+ DateFrom.Value +“and dateToCol <”+ DateTo.Value; yourTable.Select(strFilter);
-
将.DataSource属性与您的DataTable绑定。
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource(“yourDataSourceName”,yourTable));
刷新您的ReportViewer
This article具有简单的例子,可以帮助您开始使用。
答
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();
虽然我想到了另一种方式。但是谢谢你的时间。 – DanSogaard 2010-03-19 11:04:10