我有一个包含一些属性的类,包括一个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),但是没有用。
答案 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);