我正在使用DevXpress XtraReport v13.1
我有一个dateTime参数,我希望无论何时使用它,它的默认值都是当前日。 当我将参数的值保留为空时。 DevExpress将其理解为1/1/0001 !!!
这对我来说很重要,因为参数将作为过滤器应用于数据库,我需要降低用户从数据库中获取过多数据的可能性(这可能会影响性能)
任何人都知道如何做到这一点?
答案 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
会更复杂。