我正在使用 DevXpress XtraReport v13.1
我有一个 dateTime 参数,无论何时使用它,我都希望它的默认值是当前日期。当我将参数的值留空时。DevExpress 将其理解为 1/1/0001 !!!
这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)
任何人都知道如何做到这一点?
我正在使用 DevXpress XtraReport v13.1
我有一个 dateTime 参数,无论何时使用它,我都希望它的默认值是当前日期。当我将参数的值留空时。DevExpress 将其理解为 1/1/0001 !!!
这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)
任何人都知道如何做到这一点?
我只是这样做了
public Report()
{
InitializeComponent();
this.Parameters[0].Value = DateTime.Today;
this.Parameters[1].Value = DateTime.Today;
}
AbdelRahman Shabana 采取的方法失败了,因为当用户单击提交时事件再次触发,请在此处查看
感谢所有给我提示的人。我设法通过响应事件以编程方式解决了我的问题: ParameterRequestBeforeShow 然后报告将以今天的日期作为参数的默认值显示,并且仍然允许用户选择不同的日期。
private void XtraReport1_ParametersRequestBeforeShow(object sender, DevExpress.XtraReports.Parameters.ParametersRequestEventArgs e)
{
this.Parameters["StartIssueDate"].Value = DateTime.Now;
this.Parameters["EndIssueDate"].Value = DateTime.Now;
}
DevExpress 支持中心有一个解决方案的讨论。
其中一种解决方案是将您的参数创建为可为空的DateTime?
,但绑定到XRControl
.