ReportViewer - ReportParameter - WinForms vs WebForms命名空间

时间:2010-11-24 17:14:23

标签: reportviewer

我有一个网络应用程序和一个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的报告参数?或者是否有内置的实用程序可以轻松地在两者之间进行转换?

1 个答案:

答案 0 :(得分:2)

我知道它已经过时了,但我今天也有同样的问题,所以我想提供一个答案。

我找不到任何确定的东西,所以我退出了旧的反射器...我选择使用Microsoft.ReportViewer.WebForms,因为它引用了Microsoft.ReportViewer.WinForms引用的程序集的子集。 / p>

...具体

WebForms引用:

  • Microsoft.ReportViewer.Common
  • mscorlib程序
  • 系统
  • System.Configuration(WinForms未引用)
  • System.Data
  • System.Drawing中
  • 的System.Web
  • System.Web.Services
  • 了System.XML

WinForms引用:

  • Microsoft.ReportViewer.Common
  • mscorlib程序
  • 系统
  • System.Data
  • System.Drawing中
  • 的System.Web
  • System.Web.Services
  • System.Windows.Forms(未由WebForms引用)
  • 了System.XML

如果我要将System.Web的程序集引用引入,无论如何,我也可以避免使用System.Windows.Forms引用。

修改 另外,对于跨引用传递ReportParameter,您几乎必须相应地重新映射它们。无论是通过包装器,还是一些Mapping扩展方法都可以解决问题。