Skip to main content

How to: Use Custom Value Editor in FilterControl

This example handles the FilterControl.CustomValueEditor event to assign custom editors (Spin Editor and Calc Editor) to value operands in Data Grid’s embedded FilterControl.

The Data Grid’s ColumnView.FilterEditorCreated event is used to subscribe to the FilterControl.CustomValueEditor event.

FilterControl-CustomValueEditor

private void gridView1_FilterEditorCreated(object sender, FilterControlEventArgs e) {
    e.FilterEditor.CustomValueEditor += FilterEditor_CustomValueEditor;
}

readonly RepositoryItemSpinEdit spinEdit = new RepositoryItemSpinEdit();
readonly RepositoryItemCalcEdit calcEdit = new RepositoryItemCalcEdit();

private void FilterEditor_CustomValueEditor(object sender, CustomValueEditorArgs e) {
    if (e.Node.FirstOperand.PropertyName != "Payment") return;
    RepositoryItemTextEdit item = null;
    if (e.ElementIndex == 2)
        item = spinEdit;
    else
        item = calcEdit;
    var settings = item.MaskSettings.Configure<MaskSettings.Numeric>();
    settings.MaskExpression = "c";
    e.RepositoryItem = item;
}