4つのサブレポートがあるCyrstalレポートがあり、ItemID列とCultureを介してリンクされているため、パラメーター値「?Pm-ItemID」と「?Pm-Culture」があり、DataSetを使用しています。データをCrystalReportのデータソースにロードします。レポートを実行すると、パラメータフィールドが指定されていないというエラーが表示されるので、これらのParameterFieldsに何を渡すかが私の質問だと思います。
ここにアイデアがあります。
ReportDocument myreport = new ReportDocument();
myreport.Load("C:\MyReport.rpt");
DataSet ds = GenerateReportData();
myreport.SetDataSource(ds);
//Loop through each to Load the DataSet
for (int i = 0; i < myreport.Subreports.Count; i++)
{
ReportDocument subreport = myreport.SubReports[i];
DataSet subds = GenerateReportData(subreport.name)
subreport.SetDataSource(subds);
}
//I can see that there's a parameterfields in myreport.ParameterFields
//As I look through inside it there are 8 ParameterFields repeating Pm-ItemID and Pm-Culture
foreach (ParameterField pf in myreport.ParameterFields)
{
myreport.SetParameterValue(pf.Name, Value???);
}