Использование вложенных отчетов с элементом управления Microsoft ReportViewer в локальном режиме - PullRequest
8 голосов
/ 24 июня 2009

Есть ли у кого-нибудь рекомендации по отличной ссылке на ReportViewer от Microsoft (версия VS 2008) при использовании в локальном режиме? В настоящее время я пользуюсь им, но его части выглядят как черный ящик, поэтому я хотел бы прочитать всю тему.

Особенно хочется начать использовать подотчеты для отображения более сложных отчетов родитель-потомок. Я предполагаю, что они работают в режиме, аналогичном Crystal Reports, с которым я достаточно знаком.

Спасибо, Роб.

Ответы [ 3 ]

12 голосов
/ 02 июля 2009

Ссылка на http://www.gotreportviewer.com хорошая, но она выглядит как материал для локальных подотчетов, а ReportViewer 2008 немного разбросан и разбросан по сети. Это тема для блога, поэтому я буду: -)

Вот несколько заголовков:

  1. Подотчет - это совершенно отдельный отчет, но он связан с основным отчетом с использованием стандартного механизма параметров отчета. Главный отчет сконфигурирован для передачи одного или нескольких его полей (например, первичного ключа) в подотчет. Затем подотчет обычно использует этот параметр в качестве параметра собственного запроса для загрузки набора данных
  2. Даже при том, что вы, возможно, определили источник данных для подотчета при его разработке, он не используется при использовании в основном отчете. Вместо этого вам нужно реализовать обработчик для события SubreportProcessing. Один и тот же обработчик вызывается для каждого вложенного отчета, который вы добавляете в основной отчет, чтобы вы могли запросить параметры, переданные обработчику, чтобы определить набор данных для загрузки.
  3. Обработчик событий вызывается один раз для каждой записи в основном отчете. Например, если основной отчет отображает 200 записей, обработчик событий вызывается 200 раз, но каждый раз с другим параметром.
  4. Из-за этого вы должны опасаться производительности. В первом отчете, который я запускал, было 2000 записей (что вполне подходит для простого отчета), но каждая из этих 2000 записей принесла 20 дочерних записей для вложенного отчета. Он запустился, но прошло несколько минут, прежде чем отчет был обработан
  5. Если вы можете структурировать свои данные таким образом, чтобы можно было использовать один набор данных, содержащий данные как для основного, так и для подотчета, тогда области вложенных данных будут иметь более высокую производительность - только один запрос возвращает 2000 записей, а не 2000 отдельных запросов. См http://www.gotreportviewer.com/masterdetail/index.html

Ура, Роб.

4 голосов
/ 24 июня 2009

Однажды я работал с элементом управления ReportViewer и смог найти хорошую информацию в http://www.gotreportviewer.com

1 голос
/ 24 июня 2009
...