我有一个包含一些属性的类,其中一个是子对象的 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() { ... }
}
我正在尝试将此对象(示例中的发票)绑定(bind)到 Crystal Report(使用 VS2008 Crystal 报表设计器),当我获得简单属性(名称、CreatedDate)以显示在 Field Explorer 中时,子集合不会.我曾尝试使用 ArrayList(如建议的那样(How can I use strongly typed lists as the datasoruce for a Crystal Reports),但这没有用。
最佳答案
经过一些搜索和试验后,我未能成功将报告绑定(bind)到包含子集合的自定义对象。我没有使用 .Net 对象,而是使用 XSD 模式设计了报告,并在运行时生成了一个 xml 文件,并将成本报告的数据源设置为我使用 .ReadXML 方法构建的数据集。
var exportData = new XDocument(....);
var dataSet = new System.Data.DataSet();
dataSet.ReadXml(exportData.CreateReader());
var report = new ReportDocument();
report.Load("...");
report.SetDataSource(data);
关于c# - 将带有 List<> 的对象绑定(bind)到 Crystal Report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2869476/