RDLC:ReportParameter与DataSource - 哪个更好,为什么?

时间:2016-02-16 08:27:55

标签: c# ssis ssrs-2008 rdlc

我想创建一个只有一个页面的报告,比如说只有一个客户的信息。应该注意的是,我总是必须在报告中一次显示一个客户的信息。这意味着,没有任何情况我将通过多个客户的集合。

目前,我已经使用了数据源并将其与报告绑定。虽然我需要将集合作为ReportDataSource传递,但该集合总是有一个项目。

那么,这是一种正确的方法吗?我应该使用ReportParameter而不是数据源吗?使用DataSource有任何性能缺陷吗?使用ReportParameter有什么性能优势吗?

此外,使用DataSource让我可以自由编写一个框架,可以将输入作为报告和集合,然后我可以轻松生成报告。如果是ReportParameter,我需要使用反射遍历每个属性,然后创建ReportParameter。

请为此方案建议推荐的方法。

1 个答案:

答案 0 :(得分:0)

一个好的商业惯例是有一个参数,您可以在其中指定要报告的客户。在数据源中,只需在WHERE子句中包含该参数即可。对于SQL Server,它看起来像这样:

WHERE CUSTID = @CustomerParameter

您的报告只是一个模板,用于显示所选客户的查询结果。