C# &引用;某些参数或凭据尚未指定";当更新LocalReport参数并刷新它时——仅当快速完成时--
我有一个WinForm(MVP)应用程序,其中我必须在ReportViewer中显示一个LocalReport,并使用一些textbox/numericUpDown更新它 LocalReport只需要参数,每个输入都会设置一个参数 这是我在以下表单中设置LocalReport的代码:C# &引用;某些参数或凭据尚未指定";当更新LocalReport参数并刷新它时——仅当快速完成时--,c#,.net,winforms,asynchronous,reporting-services,C#,.net,Winforms,Asynchronous,Reporting Services,我有一个WinForm(MVP)应用程序,其中我必须在ReportViewer中显示一个LocalReport,并使用一些textbox/numericUpDown更新它 LocalReport只需要参数,每个输入都会设置一个参数 这是我在以下表单中设置LocalReport的代码: public LocalReport ReportToShow { set { //http://stackoverflow.com/questio
public LocalReport ReportToShow
{
set
{
//http://stackoverflow.com/questions/9200308/vs2010-rdlc-c-how-can-i-set-a-localreport-object-to-a-reportviewer
//assign report Path
reportViewer.LocalReport.ReportPath = value.ReportPath;
//get a list of actual parameters in the report, with the value set @ String.Empty
var newParams = value.GetParameters().Select(t => new ReportParameter(t.Name, String.Empty)).ToList();
reportViewer.LocalReport.SetParameters(newParams);
//show the report for the first time
reportViewer.RefreshReport();
}
}
这是导致异常的代码,有时(将在下面解释):
private void UpdateParam(String name, String value)
{
reportViewer.LocalReport.SetParameters(new[] {new ReportParameter(name, value)});
reportViewer.LocalReport.Refresh();
}
此方法绑定到我的输入的TextChanged/ValueChanged事件。基本上,每次输入更改时,报告都会刷新
这是一个例外:
请注意,报告现在只有两个参数,并且两个参数都已设置。不需要数据源
为什么有时候:
- 该异常在我第一次显示表单时抛出,因为我编程更新textbox/numericupdown,并且事件“快速”触发
- 当我在同一时间键入2个笔划时,甚至当我键入得非常快时,都会引发异常
- 当我在输入中正常键入时,不会引发异常
- 堆栈跟踪:
- 即使引发异常,报告也会正确呈现强>