Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.
usingDevExpress.ExpressApp.Model;
usingDevExpress.ExpressApp.SystemModule;
//...
[DefaultClassOptions]
[ListViewFilter("Today", "GetDate([DueDate]) = LocalDateTimeToday()")]
[ListViewFilter("In three days", @"[DueDate] >= ADDDAYS(LocalDateTimeToday(), -3) AND
[DueDate] < LocalDateTimeToday()")]
[ListViewFilter("In two weeks", @"[DueDate] >= ADDDAYS(LocalDateTimeToday(), -14) AND
[DueDate] < LocalDateTimeToday()")]
[ListViewFilter("The last week", @"GetDate([DueDate]) > LocalDateTimeLastWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeLastWeek(), 5)")]
[ListViewFilter("This week", @"GetDate([DueDate]) > LocalDateTimeThisWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeThisWeek(), 5)")]
publicclassTask : BaseObject {
[ModelDefault("EditMask","d")]
publicvirtual DateTime DueDate { get; set; }
}
// Make sure that you use options.UseChangeTrackingProxies() in your DbContext settings.
usingDevExpress.ExpressApp.Model;
usingDevExpress.ExpressApp.SystemModule;
//...
[DefaultClassOptions]
[ListViewFilter("Today", "GetDate([DueDate]) = LocalDateTimeToday()")]
[ListViewFilter("In three days", @"[DueDate] >= ADDDAYS(LocalDateTimeToday(), -3) AND
[DueDate] < LocalDateTimeToday()")]
[ListViewFilter("In two weeks", @"[DueDate] >= ADDDAYS(LocalDateTimeToday(), -14) AND
[DueDate] < LocalDateTimeToday()")]
[ListViewFilter("The last week", @"GetDate([DueDate]) > LocalDateTimeLastWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeLastWeek(), 5)")]
[ListViewFilter("This week", @"GetDate([DueDate]) > LocalDateTimeThisWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeThisWeek(), 5)")]
publicclassTask : BaseObject {
publicTask(Session session) : base(session) {}
private DateTime dueDate;
[ModelDefault("EditMask","d")]
public DateTime DueDate {
get {
return dueDate;
}
set {
SetPropertyValue(nameof(DueDate), ref dueDate, value); }
}
}
ImportsDevExpress.ExpressApp.ModelImportsDevExpress.ExpressApp.SystemModule'...
<DefaultClassOptions>
<ListViewFilter("Today", "GetDate([DueDate]) = LocalDateTimeToday()")>
<ListViewFilter("In three days", "[DueDate] >= ADDDAYS(LocalDateTimeToday(), -3) AND
[DueDate] < LocalDateTimeToday()")>
<ListViewFilter("In two weeks", "[DueDate] >= ADDDAYS(LocalDateTimeToday(), -14) AND
[DueDate] < LocalDateTimeToday()")>
<ListViewFilter("The last week", "GetDate([DueDate]) > LocalDateTimeLastWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeLastWeek(), 5)")>
<ListViewFilter("This week", "GetDate([DueDate]) > LocalDateTimeThisWeek() AND
GetDate([DueDate]) <= ADDDAYS(LocalDateTimeThisWeek(), 5)")>
PublicClass Task
Inherits BaseObject
PublicSubNew(ByVal session As Session)
MyBase.New(session)
EndSubPrivate fDueDate As DateTime
<ModelDefault("EditMask","d")> _
PublicProperty DueDate() As DateTime
GetReturn fDueDate
EndGetSet(ByVal value As DateTime)
SetPropertyValue(NameOf(DueDate), fDueDate, value)
EndSetEndPropertyEndClass
The XAF is shipped with the SetFilter Action (see FilterController.SetFilterAction). This Action is displayed as a combo box, whose items represent filter captions. When an end-user selects an item, the current List View is filtered.
You can add as many ListViewFilter attributes as you wish to the target business class. The filters specified by these attributes will be loaded to the Application Model. The Filter child nodes will be added to the corresponding Views | <ListView> | Filters node. You can modify these filters via the Model Editor. In addition, you can add new filters via the Views | <ListView> | Filters node’s context menu. For details, refer to the Filters Application Model Node topic.