привязать коллекцию дозвуковых объектов к отчету Microsoft (rdlc)

StackOverflow https://stackoverflow.com/questions/808885

  •  03-07-2019
  •  | 
  •  

Вопрос

Кто-нибудь смог использовать коллекцию, созданную SubSonic, в качестве «источника данных бизнес-объекта» с отчетом Microsoft (rdlc)?Я сгенерировал код класса SubSonic, но по какой-то причине окно источника данных отчета не видит класс как потенциальный источник данных для коллекции объектов.

Есть ли что-то, что мне нужно сделать, чтобы это сработало?

Заранее спасибо... vsdotnetguy

Это было полезно?

Решение 3

Спасибо Крису и Адаму,

Вот ответ, который я нашел.

В моем случае я хотел динамически устанавливать источники данных основного и вложенного отчета во время выполнения, используя коллекции объектов SubSonic.Однако я также хотел разработать макет отчета, используя перетаскивание столбцов источника данных.

Но мне не удалось создать отчет с помощью перетаскивания, поскольку ни одна из моих коллекций SubSonic не отображалась в источниках данных веб-сайта.

Однако позже, когда я выполнял некоторую привязку элементов управления с помощью элемента управления ObjectDataSource, я заметил, что СЕЙЧАС мои ​​коллекции SubSonic отображались в окне источников данных веб-сайта, и я мог перетаскивать макет отчета.

Поэтому, если вы динамически настраиваете источники данных отчета во время выполнения и НЕ используете элемент управления ObjectDataSource уже в своем проекте, вы ДОЛЖНЫ добавить фиктивный элемент управления ObjectDataSource на одну из ваших страниц aspx.После этого источники данных бизнес-объектов отобразятся в дизайнере отчетов.

Другие советы

Раньше я загружал отчеты службы отчетов из бизнес-объектов (загружал через NHibernate - что не точно, но достаточно близко для аргументации).

Пара ключевых моментов:1.верните свои объекты в список, даже если вы возвращаете только один объект.2.Вам нужны ПЛОСКИЕ бизнес-объекты.Возможно, вам придется пройти преобразование DTO, чтобы получить это.Под «плоским» я подразумеваю самое сложное свойство, которое вы можете иметь в бизнес-объекте, — это строку и число (int, десятичное, двойное).Если вы ожидаете получить такое значение:myObject.Customer.Name, забудьте об этом.Создайте свойство CustomerName.3.Если вам нужны данные из нескольких мест, попробуйте разбить отчеты на подотчеты.Вы отключаете ключ источника данных, чтобы выяснить, какие данные следует вернуть в отчет.

Я добавлю еще, насколько помню, прошло несколько месяцев с тех пор, как я это сделал.

Да, я это сделал, вам нужно только убедиться, что проект, содержащий ваши отчеты, ссылается на ваш проект SubSonic (очевидно :).

Иногда я также обнаруживал, что Visual Studio может немного тормозить и требовать перезагрузки перед повторным заполнением окна источника данных объектами, сгенерированными SubSonic.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top