我有两个按钮(button1,button2)两个按钮打开两个相同的报告,除了report2.rdlc有一个字符串参数
如果我先按下button1,则消息框显示参数count = 0(正如预期的那样),我在reportviewer1中显示report1.rdlc,然后我按下按钮2 ,消息框再次显示参数count = 0(我希望它显示为1)和我得到LocalProcessingException {"尝试设置报告参数'Report2ParameterString',此报告中未定义."}
如果我先按下button2,则消息框显示参数count = 1(正如预期的那样),我在reportviewer1中显示report2,如果我按下button1 消息框再次显示参数count = 1(我希望它显示0) 我得到报告1 .rdlc显示在reportviewer1中,没有例外
我的代码是
private void report1Button_Click(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\report1.rdlc";
MessageBox.Show("parameters count =" + reportViewer1.LocalReport.GetParameters().Count.ToString());
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportDataTable));
reportViewer1.RefreshReport();
}
private void report2Button_Click(object sender, EventArgs e)
{
reportViewer1.LocalReport.ReportPath = Application.StartupPath + "\\report2.rdlc";
MessageBox.Show("parameters count =" +reportViewer1.LocalReport.GetParameters().Count.ToString());
reportViewer1.LocalReport.SetParameters(new ReportParameter("Report2ParameterString", " testing Report2ParameterString"));
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("DataSet1", reportDataTable));
reportViewer1.RefreshReport();
}
Run Code Online (Sandbox Code Playgroud)