我有一个List<Customer>
,它是表中的linq对象。我希望通过遍历此列表并将PDF写入光盘来为每个客户生成一封信。
我想使用Crystal Reports,在数据库专家中我选择.Net Objects并选择我的Linq.Customer
对象作为源。这会按预期显示我的所有字段,我可以很好地创建报告。
我收到异常“数据源无效”
这是我的代码
public void GenerateLetters(List<Customer> customers){
foreach(Customer cust in customers){
this.Generate(cust);
}
}
Generate()的位置是:
public Generate(Customer cust){
// this is the crystal reports letter
Letter letter = new Letter();
// set data source
letter.SetDataSource(cust); // exception thrown here
// get the pdf stream
pdfStream = (MemoryStream)letter.
ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
// copy to byte array
fileBytes = pdfStream.ToArray();
// clean up
pdfStream.Close();
letter.Dispose();
}
我在设置数据源时遇到异常,是否有人有任何想法?
答案 0 :(得分:1)
我对Crystal不太熟悉,但尝试传递List<Customer>
作为数据源:
letter.SetDataSource(new List<Customer>() { cust });