DataSourceCriteriaPropertyAttribute Class
Applied to business classes‘ reference and collection properties. Specifies the name of a CriteriaOperator type property which returns data source’s filter criteria applied to the List View displayed in a Lookup Property Editor or invoked by the LinkUnlinkController.LinkAction Action in a popup window.
Namespace: DevExpress.Persistent.Base
Assembly: DevExpress.ExpressApp.v24.2.dll
NuGet Package: DevExpress.ExpressApp
Declaration
Remarks
You can filter the data source for the List View displayed in a Lookup Property Editor or in the LinkUnlinkController.LinkAction Action’s popup window. For this purpose, apply the DataSourceCriteriaProperty attribute to the target property. The constructor of this attribute accepts a string name of the CriteriaOperator type property whose value can be calculated in code as required (see DataSourceCriteriaPropertyAttribute.DataSourceCriteriaProperty).
The following example demonstrates how to use the DataSourceCriteriaProperty attribute:
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl.EF;
using System.ComponentModel.DataAnnotations;
// ...
[DefaultClassOptions]
public class Order : BaseObject {
[DataSourceCriteriaProperty(nameof(DepartmentsCriteria))]
public virtual Accessory Accessory { get; set; }
public CriteriaOperator DepartmentsCriteria {
get { return CriteriaOperator.Parse("IsGlobal = true"); }
}
}
public class Accessory : BaseObject {
public virtual bool IsGlobal { get; set; }
}
// Make sure that you use options.UseChangeTrackingProxies() in your DbContext settings.
DataSourceCriteriaPropertyAttribute overrides DataSourceCriteriaAttribute when both attributes are applied to the same property.
Alternatively, you can use the IModelMember.DataSourceCriteriaProperty and IModelMemberViewItem.DataSourceCriteriaProperty settings that are available in the Application Model for the class members, ListView columns and DetailView items.