C# RDLC:ReportParameter与DataSource——哪一个更好,为什么?

C# RDLC:ReportParameter与DataSource——哪一个更好,为什么?,c#,ssis,ssrs-2008,rdlc,C#,Ssis,Ssrs 2008,Rdlc,我想创建一个只有一页的报告,比如说只有一个客户的信息。应该注意的是,我必须在报告中同时显示一个客户的信息。这意味着,我不会传递多个客户的集合 现在,我已经使用了数据源并将其与报表绑定。尽管我需要将集合作为ReportDataSource传递,但该集合将始终有一个项 那么,这是正确的方法吗?我应该使用ReportParameter而不是数据源吗?使用DataSource是否存在性能缺陷?使用ReportParameter是否有性能优势 此外,使用DataSource使我可以自由地编写一个框架,该框

我想创建一个只有一页的报告,比如说只有一个客户的信息。应该注意的是,我必须在报告中同时显示一个客户的信息。这意味着,我不会传递多个客户的集合

现在,我已经使用了数据源并将其与报表绑定。尽管我需要将集合作为ReportDataSource传递,但该集合将始终有一个项

那么,这是正确的方法吗?我应该使用ReportParameter而不是数据源吗?使用DataSource是否存在性能缺陷?使用ReportParameter是否有性能优势

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


请建议此场景的推荐方法。

一个好的业务实践是使用一个参数来指定要报告的客户。在数据源中,只需在WHERE子句中包含参数。对于SQL Server,它将如下所示:

WHERE CUSTID = @CustomerParameter

您的报表只是显示所选客户查询结果的模板。

感谢Steven对此进行研究。您的意思是创建ReportParameter并将其分配给customer对象,然后用ReportParameter绑定报表而不是使用DataSource吗?我怀疑是否可以将用户定义的类型分配给ReportParameter。如果可能,请提供更多细节。另外,你能详细说明一下商业惯例吗?参考链接也会有所帮助。对不起,如果我要求太多的话。我只需要一个强有力的理由来使用ReportParameter而不是DataSource。