レポート A、レポート B、レポート C、レポート D の 4 つのレポートがあり、データソースはそれぞれ dsA、dsB、dsC、および dsD です。
レポート A はメイン レポートであり、サブレポート B にはサブレポート C があります ...
Report A は、SubreportProcessingEvent のデータソース dsB に ReportA からのパラメーターを入力します。
レポート B のすべての行に対して発生するイベントが必要になるので、レポート B からパラメーターを渡し、レポート C および C パラメーターをレポート D に入力します。
SubreportProcessingEventArg のコード
SearchValue = new SqlParameter[2];
SqlConnection thisConnection = new SqlConnection(thisConnectionString);
DataSet thisDataSet = new DataSet();
SearchValue[0] = new SqlParameter("@TPlanId", e.Parameters[1].Values[0]);
SearchValue[1] = new SqlParameter("@ProblemId", e.Parameters[0].Values[0]);
thisDataSet = SqlHelper.ExecuteDataset(thisConnection, "Proc_TP_Goal", SearchValue);
/* Associate thisDataSet (now loaded with the stored procedure result) with the ReportViewer datasource */
ReportDataSource datasource = new ReportDataSource("Goal_Proc_TP_Goal", thisDataSet.Tables[0]);
e.DataSources.Add(datasource);
イベント ハンドラの第 3 レベルと第 4 レベルを理解できませんでした。提案や例をいただければ幸いです。
ありがとう