2010-05-19 17 views
6

Ho una classe che contiene alcune proprietà, inclusa una che è un Elenco <> di oggetti figli.Oggetto di associazione con Elenco <> a Crystal Report

semplice esempio:

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() { ... } 
    } 

Sto cercando di legare questo oggetto (fattura nell'esempio) per un report Crystal (utilizzando il rapporto di cristallo VS2008 designer) e mentre ricevo le semplici proprietà (nome, CreatedDate) per apparire in Field Explorer, la collezione figlio non lo fa. Ho provato a utilizzare un ArrayList (come suggerito (How can I use strongly typed lists as the datasoruce for a Crystal Reports) ma non ha funzionato

risposta

1

Dopo un po 'di ricerca e sperimentazione non ho avuto successo nel tentativo di associare il rapporto a un oggetto personalizzato che conteneva una raccolta figlio. utilizzando un oggetto .NET ho progettato il report utilizzando uno Shema XSD e in fase di esecuzione generato un file xml e impostare origine dati del rapporto costo per un DataSet che ho costruito con il metodo .ReadXML.

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

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