3

次のように C# コードでレポート データソースを設定します。

report.SetDataSource(dataSource);

それはすべて機能しますが、その後 Crystal レポートはデータベースへの接続を試みます。コードからデータソースを設定すると、レポートはデータベースからより多くのデータを取得したくないと思います。

コードレポートからデータソースを設定した後でも、データベースからより多くのデータを要求するのは本当に好きですか?

編集:私が直面している本当の問題は、2 つのレポートがあることです.1 つはコードからデータソースを設定した後にデータベースからデータを取得し、もう 1 つは取得しません。私はこれを理解するために一日中耳を引っ張ってきましたが、まだ運がありません. 2 つのレポートはほとんど同じです。どちらもデータベース ビューを使用してデータベースからフィールドを取得し、同じコードを使用してコードからデータソースを設定します。ロジックは、コードにレポートをロードし、そこから必要なデータベース フィールドを取得し、DataTableそれらのフィールドを使用して作成することです。次に、データを入力し、これをデータソースとして設定します: report.SetDataSource(dataSource);. どちらのレポートでも、コードとロジックは同じです。フィールドが違うだけで…

4

2 に答える 2

1

サブレポートがある場合。

サブレポートをループし、各サブレポートオブジェクトでSetDataSource(dataSource)を呼び出します。

于 2012-07-27T17:56:36.257 に答える
0
        Report.RicevutaCup r = new Report.RicevutaCup();
        System.Data.DataSet ds = CupDatasetFactory.CreaRicevutaCupDataSet(df);
        r.OpenSubreport("RicevutaCup_Prestazioni").SetDataSource(ds);

        r.SetDataSource(ds);

問題を解決しました(IISを再起動した後)。

于 2013-03-05T14:59:10.930 に答える