Локальный файл отчета RDLC с пользовательским IEnumerable


Я пытаюсь создать отчет локального режима (rdlc) в моем веб-приложении.

Источником для моего отчета является IEnumerable типа Customer, каждый из которых имеет вложенный IEnumerable CustomerOrders в качестве свойства.

Я не знаю, как создать отчет RDLC, который может показать всех клиентов, и для каждого клиента показать все заказы.

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

Возможно ли это в файлах RDLC?

Спасибо!

2 2

2 ответа:

Получается, что я мог бы сделать это, выполнив следующие шаги:

1) в классе обслуживания я предоставляю фиктивный метод, который возвращает IEnumerable

2) при создании нового локального RDLC с помощью мастера я могу выбрать этот метод в качестве источника отчета. Мне не нужно использовать этот метод, но он позволяет отчету читать мой тип и дает мне свойства из моего перечисляемого для использования в моем отчете.

3) Когда дело доходит до запуска отчета, я могу тогда в своем коде позади, укажите фактические данные, которые я хочу использовать для отчета:

this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ReportDataSource", dataForReport));

Надеюсь, это кому-то поможет!

Вот действительно хороший пример выполнения чего-то похожего на то, что вы пытаетесь сделать:

Http://www.gotreportviewer.com/masterdetail/index.html

Сюда также входят загрузки образцов кода. В основном вы захотите встроить таблицу в список.