0

我有一个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();


}

我在设置数据源时遇到了异常,有人有什么想法吗?

4

1 回答 1

1

我对 Crystal 不是很熟悉,但尝试将 aList<Customer>作为数据源传递:

letter.SetDataSource(new List<Customer>() { cust });
于 2012-12-19T17:24:54.460 回答