2010-05-19 6 views
6

Tengo una clase que contiene algunas propiedades, incluida una lista <> de objetos secundarios.Objeto de unión con la Lista <> al Informe de Crystal

Ejemplo simple:

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

Estoy tratando de obligar a este objeto (Factura en el ejemplo) a un informe de Crystal (usando diseñador de informes de cristal VS2008) y mientras consigo las propiedades simples (nombre, CreatedDate) aparecer en Field Explorer, la colección de niños no. He intentado usar un ArrayList (como se sugirió (How can I use strongly typed lists as the datasoruce for a Crystal Reports) pero eso no funcionó.

Respuesta

1

Después de buscar y experimentar un poco no tuve éxito en intentar vincular el informe a un objeto personalizado que contenía una colección secundaria. utilizando un objeto .Net diseñé el informe usando un shema XSD y en el tiempo de ejecución generé un archivo xml y establecí el origen de datos del informe de costo en un DataSet que construí usando el método .ReadXML.

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

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