Как получить подчиненный отчет для отображения в SSRS? - PullRequest
1 голос
/ 28 июня 2010

Мне интересно, может ли кто-нибудь сообщить мне, какой из следующих шагов я делаю неправильно.

  1. Новый пустой отчет («Пустой»)
  2. Есть существующий отчет ('Sub1'), который имеет свой собственный источники данных и один параметр (int, названный «Вероятность», с значение по умолчанию). Они находятся в одном проекте и в одной папке.
  3. Перетащите элемент управления подотчета в новый отчет
  4. В свойствах элемента управления подотчета выберите «Sub1» в качестве «Использовать этот отчет как подотчет».
  5. На вкладке параметров нажмите Добавить.
  6. Попробуйте выбрать имя из выпадающего списка (оно пустое).
  7. Введите «Вероятность» в качестве имени.
  8. Введите «1» в качестве значения.
  9. Попробуйте выполнить предварительный просмотр отчета, получите сообщение «Ошибка: не удалось отобразить подотчет». в предварительном просмотре и в «rsErrorExecutingSubreport] Ошибка при выполнении вложенного отчета« SubReport1 »(экземпляр: 0): ссылка на объект не установлена ​​на экземпляр объекта». в выходных данных (где «Subreport1» - это имя элемента управления, пытающегося отобразить отчет «Sub1».

Вещи, которые я пробовал:

  1. Ввод '= 1' в качестве значения.
  2. Добавление параметра того же типа и имени в мой основной отчет «Пустой». Оставьте вкладку «Параметры» пустой в свойствах элемента управления подчиненного отчета. Также попытался установить значение записи «Вероятность» равным параметру в пустом отчете («= Параметры! Вероятность. Значение»).
  3. Установка имени как @Likelihood (ошибка при требовании, чтобы имя было CLR-совместимым).
  4. Копирование источников данных, таблиц и т. Д. Из подотчета в пустой родительский отчет.

Элемент управления SubReport rdl:

<Subreport Name="Subreport1">
    <ReportName>Sub1</ReportName>
    <Parameters>
      <Parameter Name="Likelihood">
        <Value>10</Value>
      </Parameter>
    </Parameters>
    <Top>2cm</Top>
    <Left>2cm</Left>
    <Height>7cm</Height>
    <Width>7cm</Width>
    <ZIndex>1</ZIndex>
    <Style>
      <Border>
        <Style>None</Style>
      </Border>
    </Style>
  </Subreport>

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

Ответы [ 2 ]

2 голосов
/ 19 марта 2012

Я наткнулся на форум на ActiveReports6, где встречалась идентичная ошибка.В этом случае пользователь (DeepSeaDave) «помещает точку останова в событие DataSourceChanged () вложенного отчета. Когда [он вызывал] метод Run () основного отчета, событие DataSourceChanged [срабатывало] дважды.] когда источник данных [стал] Ничем ... "

Я столкнулся с той же проблемой (также связанной с подотчетом, а также с Общими источниками данных), после того как я скопировал / переименовал существующий отчет (кака также подотчет) в качестве шаблона для нового.

Решение:

Путем удаления источника данных (сообщить конкретную ссылку на общий источник данных вПроект) в моем родительском отчете, и воссоздав его (сохранение и закрытие между ними), проблема исчезла!

0 голосов
/ 28 июня 2010

Я понял, что использую общий набор данных в своем подотчете, и другие столкнулись с этой проблемой.Я удалил все в своем подотчете, но до тех пор, пока я не удалил этот набор данных, он будет отображаться без ошибок (т. Е. Пустой страницы, как и ожидалось, поскольку я все удалил).Имея это в виду, я поиграл с некоторыми настройками и нашел «решение» ниже.

Одно «решение», которое «сработало» для меня, было:

  1. Установите для набора данных значениебыть нераспространенным, сохранять, предварительно просматривать (для принудительного «повторного создания» или чего-либо еще).
  2. Добавить эквивалентный не разделяемый набор данных в родительский отчет.Попробуйте предварительный просмотр.
  3. Отмена изменений исходного подотчета (я буквально отменил контроль исходного кода)
  4. Убедитесь, что вы можете предварительно просмотреть свой подотчет.
  5. Удалить набор данных в родительском элементеотчет.
  6. Это волшебно работает.

Хотелось бы знать, почему это снова заработало, и я полностью ожидаю, что оно снова сломается, но я знаю, что это то, что ясделал, и теперь это работает, так что, возможно, это проблема кэшированных отчетов?

Это НЕ решение, но мне было бы очень интересно узнать, поможет ли оно кому-либо еще, поскольку, возможно, это поможет нам изолировать проблему.

...