Привязка объекта со списком <> к отчету Crystal - PullRequest
6 голосов
/ 20 мая 2010

У меня есть класс, который содержит несколько свойств, включая один, который является списком <> дочерних объектов.

Простой пример:

    public class LineItem
    {
       public string Name { get; set; }
       public decimal Amount { get; set; }
    }

    public class Invoice
    {
       public string Name { get; set; }
       public DateTime CreatedDate { get; set; }
       public List<LineItem> LineItems { get; set; }
       public Invoice() { ... }
    }

Я пытаюсь привязать этот объект (счет-фактура в примере) к отчету Crystal Report (с помощью дизайнера отчетов VS2008 Crystal), и хотя я получаю простые свойства (Name, CreatedDate), которые отображаются в Field Explorer, дочерняя коллекция не , Я пытался использовать ArrayList (как предлагалось ( Как я могу использовать строго типизированные списки в качестве источника данных для Crystal Reports ), но это не сработало.

1 Ответ

1 голос
/ 24 мая 2010

После небольшого поиска и экспериментов мне не удалось связать отчет с пользовательским объектом, содержащим дочернюю коллекцию. Вместо использования объекта .Net я разработал отчет с использованием схемы XSD, а во время выполнения сгенерировал файл XML и установил источник данных отчета о затратах в DataSet, который я построил с использованием метода .ReadXML.

var exportData = new XDocument(....);
var dataSet = new System.Data.DataSet();
dataSet.ReadXml(exportData.CreateReader());

var report = new ReportDocument();
report.Load("...");
report.SetDataSource(data);
...