1

我正在使用 DevXpress XtraReport v13.1

我有一个 dateTime 参数,无论何时使用它,我都希望它的默认值是当前日期。当我将参数的值留空时。DevExpress 将其理解为 1/1/0001 !!!

这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)

任何人都知道如何做到这一点?

4

3 回答 3

4

我只是这样做了

  public Report()
    {
        InitializeComponent();
        this.Parameters[0].Value = DateTime.Today;
        this.Parameters[1].Value = DateTime.Today;
    }

AbdelRahman Shabana 采取的方法失败了,因为当用户单击提交时事件再次触发,请在此处查看

于 2014-08-20T22:36:07.610 回答
2

感谢所有给我提示的人。我设法通过响应事件以编程方式解决了我的问题: ParameterRequestBeforeShow 然后报告将以今天的日期作为参数的默认值显示,并且仍然允许用户选择不同的日期。

private void XtraReport1_ParametersRequestBeforeShow(object sender, DevExpress.XtraReports.Parameters.ParametersRequestEventArgs e)
        {
            this.Parameters["StartIssueDate"].Value = DateTime.Now;
            this.Parameters["EndIssueDate"].Value = DateTime.Now;
        }
于 2013-09-08T15:07:03.737 回答
0

DevExpress 支持中心有一个解决方案的讨论。

其中一种解决方案是将您的参数创建为可为空的DateTime?,但绑定到XRControl.

于 2013-09-05T15:18:39.337 回答