我有一个网络应用程序和一个winforms应用程序 - 它们都通过标准的web / winforms ReportViewer控件显示报告。 (使用VS2010 / .Net 4.0顺便说一句。)
我还有一个共享库,它返回正在生成的报告的ReportParameter对象。我遇到了ReportParameter的问题:
Winforms ReportViewer使用Microsoft.Reporting.WinForms命名空间中的ReportParameter。 WebForms ReportViewer使用Microsoft.Reporting.WebForms命名空间中的ReportParameter。
我是否可以使用通用的ReportParameter类来分享来自web vs winforms的报告参数?或者是否有内置的实用程序可以轻松地在两者之间进行转换?
答案 0 :(得分:2)
我知道它已经过时了,但我今天也有同样的问题,所以我想提供一个答案。
我找不到任何确定的东西,所以我退出了旧的反射器...我选择使用Microsoft.ReportViewer.WebForms,因为它引用了Microsoft.ReportViewer.WinForms引用的程序集的子集。 / p>
...具体
WebForms引用:
WinForms引用:
如果我要将System.Web的程序集引用引入,无论如何,我也可以避免使用System.Windows.Forms引用。
修改强> 另外,对于跨引用传递ReportParameter,您几乎必须相应地重新映射它们。无论是通过包装器,还是一些Mapping扩展方法都可以解决问题。