我发现在SQL Reporting中可能存在问题。我的页面上有一个ReportViewer,并且正在使用以下方法发送参数:
List<ReportParameter> myParams = new List<ReportParameter>(); myParams.Add(new ReportParameter("Start_Date", StartDate)); myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams);
这很棒!但是,当我尝试将参数设置为null时,运行该查询后,它将保留先前的值,而不是将其设置为null。
我在上面的代码之后执行的另一个事件上运行此代码:
List<ReportParameter> myParams = new List<ReportParameter>(); myParams.Add(new ReportParameter("Start_Date")); // I even tried omiting this line. //(This is the null parameter I wish to pass) myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams);
有没有人遇到过变通方法或其他方法来使它正常工作?
同样,如果我最初不定义参数,然后分配参数,然后不定义参数,则它会保留分配的值。(这些都是回发,每个事件)
做这样的事情..我已经在我自己的小测试项目中对其进行了测试,它似乎可以正常工作。
List<ReportParameter> myParams = new List<ReportParameter>(); ReportParameter p = new ReportParameter("Start_Date"); p.Values.Add(null); myParams.Add(p); //myParams.Add(new ReportParameter("Start_Date")); // I even tried omiting this line. //(This is the null parameter I wish to pass) myParams.Add(new ReportParameter("End_Date", EndDate)); ReportViewer1.ServerReport.SetParameters(myParams);