2010-05-19 20 views
6

Çocuk nesnelerinden oluşan bir Liste <> dahil olmak üzere birkaç özellik içeren bir sınıfım var.Listeye Bağlama nesnesi <> Crystal Report

Basit Örnek:

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

I (VS2008 kristal rapor tasarımcısı kullanarak) Kristal Raporu'na bu nesneyi (örnekte Fatura) bağlamak çalışıyorum ve basit özelliklere (Ad, CreatedDate) alırken Field Explorer'da görünmek için çocuk koleksiyonu yok. Bir ArrayList kullanmayı denedim (önerildiği gibi (How can I use strongly typed lists as the datasoruce for a Crystal Reports) ama işe yaramadı.

cevap

1

Biraz arama yaptıktan ve deneme yaptıktan sonra, raporu çocuk koleksiyonunu içeren özel bir nesneye bağlama girişiminde başarısız oldum. .Net nesnesi kullanarak raporu bir XSD şeması kullanarak tasarladım ve çalışma zamanında bir xml dosyası oluşturdum ve maliyet raporunun veri kaynağını .ReadXML yöntemini kullanarak oluşturduğum bir DataSet'e ayarlayın.

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

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