Локальный файл отчета RDLC с пользовательским IEnumerable
Я пытаюсь создать отчет локального режима (rdlc) в моем веб-приложении.
Источником для моего отчета является IEnumerable типа Customer, каждый из которых имеет вложенный IEnumerable CustomerOrders в качестве свойства.
Я не знаю, как создать отчет RDLC, который может показать всех клиентов, и для каждого клиента показать все заказы.
В этом посте рассказывается о том, как создать набор данных с форматом, соответствующим вашему формату IEnumerable, а затем заменить это во время выполнения с фактическими данными, которые вы хотите использовать, но я не знаю, как определить набор данных, который соответствует этому IEnumerable, и кроме того, кажется несколько неуклюжим, что мне нужно будет определить набор данных для отчета, когда у меня есть совершенно хороший тип..
Возможно ли это в файлах RDLC?
Спасибо!
2 ответа:
Получается, что я мог бы сделать это, выполнив следующие шаги:
1) в классе обслуживания я предоставляю фиктивный метод, который возвращает IEnumerable
2) при создании нового локального RDLC с помощью мастера я могу выбрать этот метод в качестве источника отчета. Мне не нужно использовать этот метод, но он позволяет отчету читать мой тип и дает мне свойства из моего перечисляемого для использования в моем отчете.
3) Когда дело доходит до запуска отчета, я могу тогда в своем коде позади, укажите фактические данные, которые я хочу использовать для отчета:
this.ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource("ReportDataSource", dataForReport));
Надеюсь, это кому-то поможет!
Вот действительно хороший пример выполнения чего-то похожего на то, что вы пытаетесь сделать:
Http://www.gotreportviewer.com/masterdetail/index.html
Сюда также входят загрузки образцов кода. В основном вы захотите встроить таблицу в список.