DevExpress XtraReport将DateTime参数设置为Today

时间:2013-09-05 11:37:15

标签: devexpress xtrareport

我正在使用DevXpress XtraReport v13.1

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

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

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

3 个答案:

答案 0 :(得分:4)

我就是这样做的

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

方法AbdelRahman Shabana采取了失败,因为当用户点击提交时,事件再次触发,只需看看Here

答案 1 :(得分: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;
        }

答案 2 :(得分:0)

DevExpress支持中心有一个discussion with a solution

其中一个解决方案是将参数创建为可空DateTime?但是绑定到XRControl会更复杂。