0

如何让报告在首次运行时使用设计时设置值,然后使用用户输入的任何内容进行后续“刷新”?

我正在使用 .Net 4 和 Telerik Q1 2013 Reporting 控件。

我创建了一个包含 StartDate 和 EndDate 参数的报告,该参数被传递给 SQL 查询并返回相关数据。

为了让用户更轻松地打开和运行报表,StartDate 和 EndDate 有一个默认值,分别设置为当月的第一天和最后一天。

这很好用。但是,如果用户在加载报告后更改了这些值,并尝试运行报告,例如上个月的第一天到最后一天,则查询不会使用用户输入的值。相反,它总是使用表达式作为默认值。

我设置默认值的方式是打开ReportParameter Collection Editor(在报表中右击,点击Report Parameters),设置参数的Value属性。

开始日期设置为:

=StartOfCurrentMonth() 

EndDate 设置为

=EndOfCurrentMonth()

任何帮助将不胜感激!

4

1 回答 1

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();
于 2013-05-15T20:37:03.717 回答