我有两个参数dateFrom
和dateTo
我希望根据这些值过滤报告,并在报告中显示已过滤行的total
列的总和。
目前,当我使用表达式=Sum([total])
时,它返回数据库中整列的总和,并且它不会对表达式应用日期过滤器。
问题:
如何在日期dateFrom
和dateTo
参数之间应用总和,例如像这样的伪代码:
=Sum(Field!Total.Value) where date between dt_from to dt_to
以下是我用来加载show report的代码:
invoice_viewTableAdapter.Fill(this.db_posDataSetInvoice.invoice_view);
reportViewer1.RefreshReport();
答案 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的更多信息。