【发布时间】:2013-09-05 11:37:14
【问题描述】:
我正在使用 DevXpress XtraReport v13.1
我有一个 dateTime 参数,我希望它在使用时的默认值是当前日期。 当我将参数的值留空时。 DevExpress 将其理解为 1/1/0001 !!!
这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)
有人知道怎么做吗?
【问题讨论】:
标签: devexpress xtrareport
我正在使用 DevXpress XtraReport v13.1
我有一个 dateTime 参数,我希望它在使用时的默认值是当前日期。 当我将参数的值留空时。 DevExpress 将其理解为 1/1/0001 !!!
这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)
有人知道怎么做吗?
【问题讨论】:
标签: devexpress xtrareport
我就是这样做的
public Report()
{
InitializeComponent();
this.Parameters[0].Value = DateTime.Today;
this.Parameters[1].Value = DateTime.Today;
}
AbdelRahman Shabana 采取的方法失败了,因为当用户点击提交时事件再次触发,只需看看 Here
【讨论】:
感谢所有给我提示的人。 我设法通过响应事件以编程方式解决了我的问题: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 支持中心有一个discussion with a solution。
其中一个解决方案是将您的参数创建为可为空的DateTime?,但绑定到XRControl 会更加复杂。
【讨论】: