2010-05-19 68 views
6

我有一個類包含一些屬性,其中一個是子對象列表<>。綁定對象與列表<>到水晶報表

簡單的例子:

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

我想這個對象(發票中的例子),以水晶報表綁定(使用VS2008水晶報表設計器),而我得到了簡單的屬性(名稱,CreatedDate)在Field Explorer中顯示子集合沒有。我曾嘗試使用ArrayList(如建議(How can I use strongly typed lists as the datasoruce for a Crystal Reports),但沒有奏效

回答

1

經過一番搜索和試驗後,我試圖將報告綁定到包含子集合的自定義對象,但未取得成功,而是使用.Net對象我使用XSD shema設計了報表,並在運行時生成了一個xml文件,並將成本報表的數據源設置爲使用.ReadXML方法構建的DataSet。

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

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