0

List<Customer>テーブルのlinqオブジェクトであるaがあります。このリストを繰り返し、PDFをディスクに書き込んで、顧客ごとに手紙を作成したいと思います。

Crystal Reportsを使用したいのですが、データベースエキスパートで、.Netオブジェクトを選択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にあまり詳しくありませんが、List<Customer>データソースとしてを渡そうとします。

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