Это будет тяжело. Во-первых, вам нужен ViewState, поэтому вам нужно разместить отчет на обычной странице WebForms. Это не так уж и плохо - WebForms и MVC отлично работают бок о бок.
Сложная часть - это привязка к реальным объектам IEnumerable, а не к этим фиктивным ObjectDataSources.
Первым шагом является построение модели данных отчета. Вы можете сделать это в коде, с запросами, что угодно, как вы хотите. Типичная структура (но, очевидно, намного больше) типична:
public class ReportSource
{
public Floogle[] Floogles { get; set; }
}
public class Floogle
{
public Doodad[] Doodads { get; set; }
public string Text { get; set; }
}
public class Doodad
{
public int Number { get; set; }
}
Хитрость заключается в том, чтобы использовать в отчете элемент управления BindingSource и установить для свойства DataSource значение typeof(ReportSource)
- да, источником данных является тип вашей модели отчета.
При разработке отчета вы не получите много богатства, но вы сможете это сделать.
Что касается решений для сторонней отчетности, мы считаем, что Telerik - лучший вариант.