RDLC报告:将过滤器应用于报告

时间:2015-11-30 09:05:56

标签: c# winforms report rdlc

我有两个参数dateFromdateTo我希望根据这些值过滤报告,并在报告中显示已过滤行的total列的总和。

目前,当我使用表达式=Sum([total])时,它返回数据库中整列的总和,并且它不会对表达式应用日期过滤器。

问题: 如何在日期dateFromdateTo参数之间应用总和,例如像这样的伪代码:

=Sum(Field!Total.Value) where date between dt_from to dt_to

以下是我用来加载show report的代码:

invoice_viewTableAdapter.Fill(this.db_posDataSetInvoice.invoice_view);
reportViewer1.RefreshReport();

1 个答案:

答案 0 :(得分:1)

您应该在报告的数据源上应用过滤器,例如:

invoice_viewTableAdapter.Fill(this.db_posDataSetInvoice.invoice_view);
this.invoice_viewBindingSource.Filter = "Put your filter here";
reportViewer1.RefreshReport();

假设您有一个MyDateField字段,并且您的dateFrom和dateTo类型为DateTime

这可以是您的日期过滤器:

String.Format("MyDateField>= #{0:yyyy/MM/dd}# AND MyDateField<= #{1:yyyy/MM/dd}#"
              , dateFrom, dateTo);

您可以找到有关BindingSource.Filter表达式语法here的更多信息。