xaf-editors

XAF built-in property editors and list editors - editor type mapping by data type, EditorAliases constants, [EditorAlias] attribute, [ModelDefault] for DisplayFormat/EditMask, ObjectPropertyEditor for inline sub-forms, list editor types (GridListEditor, DxGridListEditor, TreeListEditor, ChartListEditor), GridListEditor WinForms customization, DxGridListEditor Blazor customization, IModelListView/IModelColumn properties. Use when working with built-in XAF editors or customizing grid/list views.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "xaf-editors" with this command: npx skills add kashiash/xaf-skills/kashiash-xaf-skills-xaf-editors

XAF: Property Editors & List Editors

Built-in Property Editors

XAF automatically selects a property editor based on the .NET type.

Data TypeEditor AliasWinForms ClassBlazor Class
stringStringPropertyEditorStringPropertyEditorStringPropertyEditor
int, long, shortIntegerPropertyEditorIntPropertyEditorIntPropertyEditor
decimalDecimalPropertyEditorDecimalPropertyEditorDecimalPropertyEditor
doubleDoublePropertyEditorDoublePropertyEditorDoublePropertyEditor
boolBooleanPropertyEditorBooleanPropertyEditorBooleanPropertyEditor
DateTimeDateTimePropertyEditorDateTimePropertyEditorDateTimePropertyEditor
TimeSpanTimeSpanPropertyEditorTimeSpanPropertyEditorTimeSpanPropertyEditor
enumEnumPropertyEditorEnumPropertyEditorEnumPropertyEditor
reference (FK)LookupPropertyEditorLookupPropertyEditorLookupPropertyEditor
reference (inline)ObjectPropertyEditorObjectPropertyEditorObjectPropertyEditor
byte[] / imageImagePropertyEditorImagePropertyEditorImagePropertyEditor
ColorColorPropertyEditorColorPropertyEditorColorPropertyEditor
file attachmentFileDataPropertyEditorFileDataPropertyEditorFileDataPropertyEditor
criteriaCriteriaPropertyEditorCriteriaPropertyEditorCriteriaPropertyEditor
HTML stringHtmlPropertyEditorRichTextPropertyEditorHtmlPropertyEditor

All alias constants: DevExpress.ExpressApp.Editors.EditorAliases


[EditorAlias] Attribute

Apply on a business class property to explicitly assign an editor:

using DevExpress.ExpressApp.Editors;

public class Product {
    // Force Lookup instead of default ObjectPropertyEditor
    [EditorAlias(EditorAliases.LookupPropertyEditor)]
    public virtual Category Category { get; set; }

    // Use a custom registered alias
    [EditorAlias("MyCustomRatingEditor")]
    public virtual int Rating { get; set; }
}

Common EditorAliases constants:

  • EditorAliases.StringPropertyEditor
  • EditorAliases.LookupPropertyEditor
  • EditorAliases.ObjectPropertyEditor
  • EditorAliases.ImagePropertyEditor
  • EditorAliases.BooleanPropertyEditor
  • EditorAliases.DateTimePropertyEditor
  • EditorAliases.CriteriaPropertyEditor
  • EditorAliases.IntegerPropertyEditor
  • EditorAliases.DecimalPropertyEditor
  • EditorAliases.EnumPropertyEditor

You can also override per-property in the Application Model: BOModel > <Class> > OwnMembers > <Property> > PropertyEditorType


DisplayFormat / EditMask

Configure via [ModelDefault] attribute:

using DevExpress.ExpressApp.Model;

public class Invoice {
    [ModelDefault("DisplayFormat", "{0:C2}")]
    [ModelDefault("EditMask", "c2")]
    [ModelDefault("EditMaskType", "Numeric")]
    public virtual decimal Total { get; set; }

    [ModelDefault("DisplayFormat", "{0:dd MMM yyyy}")]
    [ModelDefault("EditMask", "d")]
    [ModelDefault("EditMaskType", "DateTime")]
    public virtual DateTime InvoiceDate { get; set; }
}

EditMaskType values: Simple, RegEx, DateTime, Numeric

Alternative: set in Model Editor at Views > <View> > Items > <Property> > DisplayFormat / EditMask


Inline Detail View (ObjectPropertyEditor)

Display a related object as an embedded sub-form instead of a popup/lookup:

[EditorAlias(EditorAliases.ObjectPropertyEditor)]
public virtual Address ShippingAddress { get; set; }

In the Application Model, set the View property on the nested item to choose which DetailView template to embed.


List Editors

EditorPlatformUse Case
GridListEditorWinFormsDefault tabular grid (XtraGrid)
DxGridListEditorBlazorDefault tabular grid (DxGrid)
TreeListEditorWinFormsHierarchical tree
DxTreeListEditorBlazorHierarchical table
ChartListEditorWinFormsChart visualization
DxChartListEditorBlazorChart visualization
PivotGridListEditorWinFormsPivot table
SchedulerListEditorWinFormsCalendar/scheduling
CategorizedListEditorWinFormsGrid + category tree

Change List Editor for a View

In Application Model: Views > <ClassName>_ListView > EditorType

Or via attribute on custom editor:

[ListEditor(typeof(MyObject), isDefault: true)]
public class MyCustomListEditor : ListEditor { ... }

Customizing GridListEditor (WinForms)

using DevExpress.ExpressApp.Win.Editors;
using DevExpress.XtraGrid.Views.Grid;

public class CustomizeGridController : ObjectViewController<ListView, MyObject> {
    protected override void OnViewControlsCreated() {
        base.OnViewControlsCreated();
        if (View.Editor is GridListEditor gridEditor) {
            GridView gridView = gridEditor.GridView;
            gridView.OptionsView.ShowGroupPanel = false;
            gridView.OptionsBehavior.Editable = false;
            gridView.Columns["Name"].Width = 200;
            gridView.Columns["Name"].Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left;
            gridView.Columns["Name"].SortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
        }
    }
}

Customizing DxGridListEditor (Blazor)

using DevExpress.ExpressApp.Blazor.Editors;

public class CustomizeBlazorGridController : ObjectViewController<ListView, MyObject> {
    protected override void OnViewControlsCreated() {
        base.OnViewControlsCreated();
        if (View.Editor is DxGridListEditor gridEditor) {
            gridEditor.GridModel.ShowGroupPanel = false;
            gridEditor.GridModel.PageSize = 50;
            gridEditor.GridModel.ShowFilterRow = true;
        }
    }
}

ListView Customization via Application Model

IModelListView key properties:

PropertyDescription
EditorTypeWhich list editor class to use
DefaultSortingDefault sort, e.g. Name Asc
CriteriaDefault filter criteria
AllowEditEnable inline editing
MasterDetailModeHow detail views open
ColumnsPer-column settings

IModelColumn key properties:

PropertyDescription
CaptionColumn header text
WidthColumn width in pixels
IndexDisplay order (0-based)
VisibleShow/hide column
SortOrderAscending / Descending
GroupIndexGroup row index (≥0 to group)
FormatDisplay format string
PropertyEditorTypeOverride editor for this column

Source Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

xaf-winforms-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-office

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-blazor-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-custom-editors

No summary provided by upstream source.

Repository SourceNeeds Review