ReportViewer - ReportParameter - пространство имен WinForms и WebForms - PullRequest
3 голосов
/ 24 ноября 2010

У меня есть веб-приложение и приложение winforms - оба они отображают отчеты через стандартные элементы управления ReportViewer web / winforms. (С использованием VS2010 / .Net 4.0, кстати).

У меня также есть общая библиотека, которая возвращает объекты ReportParameter для генерируемых отчетов. Я столкнулся с небольшой проблемой с возвращением ReportParameter, хотя:

Средство просмотра отчетов Winforms использует ReportParameter из пространства имен Microsoft.Reporting.WinForms. Средство просмотра отчетов WebForms использует ReportParameter из пространства имен Microsoft.Reporting.WebForms.

Существует ли общий класс ReportParameter, который я могу использовать для обмена параметрами отчета из веб-форм и winforms? Или есть встроенная утилита для простого перевода между ними?

1 Ответ

2 голосов
/ 05 мая 2011

Я знаю, что он старый, но у меня был тот же вопрос сегодня, поэтому я решил дать ответ.

Я не смог найти ничего определенного, поэтому вытащил старый отражатель ... и решил использовать Microsoft.ReportViewer.WebForms, потому что он ссылался на подмножество сборок, на которые ссылается Microsoft.ReportViewer.WinForms.

В частности ...

Ссылка на WebForms:

  • Microsoft.ReportViewer.Common
  • mscorlib
  • System
  • System.Configuration (не упоминается в WinForms)
  • System.Data
  • System.Drawing
  • System.Web
  • System.Web.Services
  • System.XML

WinForms ссылается:

  • Microsoft.ReportViewer.Common
  • mscorlib
  • System
  • System.Data
  • System.Drawing
  • System.Web
  • System.Web.Services
  • System.Windows.Forms (не указывается в WebForms)
  • System.XML

Если я собираюсь добавить ссылку на сборку System.Web независимо, я мог бы также избежать ссылки на System.Windows.Forms.

EDIT Кроме того, что касается передачи ReportParameter по ссылкам, вам, скорее всего, придется соответствующим образом переназначить их. Либо с помощью оболочки, либо с помощью какого-либо метода расширения Mapping все получится.

...