【问题标题】:DevExpress XtraReport Setting a DateTime Parameter to TodayDevExpress XtraReport 将 DateTime 参数设置为今天
【发布时间】:2013-09-05 11:37:14
【问题描述】:

我正在使用 DevXpress XtraReport v13.1

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

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

有人知道怎么做吗?

【问题讨论】:

    标签: devexpress xtrareport


    【解决方案1】:

    我就是这样做的

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

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

    【讨论】:

      【解决方案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;
              }
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-02-16
          • 2012-12-22
          • 1970-01-01
          • 1970-01-01
          • 2013-03-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多