使用List<>绑定对象到水晶报道

时间:2010-05-19 21:12:49

标签: c# visual-studio-2008 crystal-reports

我有一个包含一些属性的类,包括一个List<>儿童物品。

简单示例:

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

我正在尝试将此对象(示例中为Invoice)绑定到Crystal Report(使用VS2008水晶报表设计器),并且当我获得要在Field Explorer中显示的简单属性(Name,CreatedDate)时,子集合不会。我已经尝试使用ArrayList(如建议的那样(How can I use strongly typed lists as the datasoruce for a Crystal Reports),但是没有用。

1 个答案:

答案 0 :(得分:1)

经过一些搜索和实验后,我尝试将报表绑定到包含子集合的自定义对象时未成功。我使用XSD shema而不是使用.Net对象,而是在运行时生成了一个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);