如何让报告在首次运行时使用设计时设置值,然后使用用户输入的任何内容进行后续“刷新”?
我正在使用.Net 4和Telerik Q1 2013报告控件。
我创建了一个包含StartDate和EndDate参数的报告,该参数传递给SQL查询并返回相关数据。
为了让用户更轻松地轻松打开和运行报表,StartDate和EndDate都有一个默认值,分别设置为当月的第一天和最后一天。
这很有效。但是,如果用户在加载报表后更改这些值,并尝试运行报表,例如上个月的第一天到最后一天,则查询不会使用用户输入的值。相反,它总是使用表达式作为默认值。
我设置默认值的方法是打开ReportParameter Collection Editor(右键单击报表,单击Report Parameters),然后设置参数的Value属性。
StartDate设置为:
=StartOfCurrentMonth()
和EndDate设置为
=EndOfCurrentMonth()
非常感谢任何帮助!
答案 0 :(得分:0)
您在此处列出的内容对我有用,您可能没有运行该服务包吗?我将ReportParameter Collection编辑器中的Value属性设置为StartDate和EndDate:
='3/1/2013'
报告的预览会立即使用默认值运行。我可以更改值并预览报告。
我创建了一个Windows窗体应用程序,用于创建报表实例。当报表首次呈现时,它会使用默认值进行渲染,并且我还可以将ReportViewer中的值更改为最终用户,并重新呈现报表而不会出现任何问题。
TopPageViews report = new TopPageViews();
InstanceReportSource reportSource = new InstanceReportSource();
reportSource.ReportDocument = report;
this.reportViewer1.ReportSource = reportSource;
this.reportViewer1.RefreshReport();