本地处理模式不支持提示输入参数。
在通过单击该对话框上的帮助按钮调用的文章Report Parameters Dialog Box (Visual Studio Report Designer)中,它在介绍性文本中说:
您在“报告参数”对话框中指定的参数属性将成为报告定义的一部分。某些属性仅供编程使用。与在远程报表服务器上处理的报表相比,本地处理的报表没有用于选择或键入参数值的参数输入区域。
一个小测试告诉我,将使用为参数指定的默认值,除非您以编程方式修改它们。我找不到关于这个设计决定的解释。如果您想使用本地处理并提示用户输入,我建议您遵循以下解决方案:
如果您将报告嵌入到ReportViewer 控件中,您可以将其放在页面或表单上,并将自定义输入控件添加到该页面或表单以收集报告参数。在代码隐藏文件中,您将使用如下代码传递参数值:
List<ReportParameter> parameterList = new List<ReportParameter>();
List<string> selectedProductTypes = listboxProductTypes.GetSelectedValues();
ReportParameter productTypes = new ReportParameter("ProductTypes", selectedProductTypes.ToArray(), false);
ReportParameter username = new ReportParameter("Username", "<current user>", false);
parameterList.Add(productTypes);
parameterList.Add(username);
reportViewer.LocalReport.SetParameters(parameterList);
在此示例中,您可以看到如何传递多值参数,其值取自多选 ListBox。