Skip to main content
All docs
V25.1
  • CellEditorOpenedEventArgs.Editor Property

    Returns the active cell editor.

    Namespace: DevExpress.XtraSpreadsheet

    Assembly: DevExpress.XtraSpreadsheet.v25.1.dll

    NuGet Package: DevExpress.Win.Spreadsheet

    Declaration

    public Control Editor { get; }

    Property Value

    Type Description
    Control

    An object that specifies the active editor.

    Remarks

    Use the CellEditorOpenedEventArgs.IsCustom and CellEditorOpenedEventArgs.CustomEditorType properties to determine the type of the active cell editor. Depending on these property values, you can cast the Editor value to the following controls:

    Control Description IsCustom CustomEditorType
    System.Windows.Forms.TextBox A Windows text box control (the default cell editor). false
    DevExpress.XtraEditors.ComboBoxEdit A DevExpress combo box control. true ComboBox
    DevExpress.XtraEditors.DateEdit A DevExpress date picker control. true DateEdit
    DevExpress.XtraEditors.CheckEdit A DevExpress checkbox control. true CheckBox

    The cast operation is not required if you handle the basic events (such as key and mouse events) for the cell editor.

    Example. Use the CellEditorOpened Event to Validate User Input

    The code sample below demonstrates how to use a regular expression to check that a user enters a US phone number in the correct format. If a user types an invalid number, the editor’s background color changes to Salmon. If a number in the correct format is entered, the editor’s background color resets to the original color and the phone number is converted to the following format: (123) 456-7890.

    Handle the CellEditorOpened Event

    using System;
    using System.Drawing;
    using System.Text.RegularExpressions;
    
    namespace SpreadsheetApp
    {
        public partial class Form1 : DevExpress.XtraBars.Ribbon.RibbonForm
        {
            // Specify the regular expression to check a phone number.
            Regex phoneNumber = new Regex(@"^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$");
            Color editorBackColor = Color.Transparent;
    
            public Form1()
            {
                InitializeComponent();
                spreadsheetControl1.CellEditorOpened += spreadsheetControl1_CellEditorOpened;
                spreadsheetControl1.LoadDocument(@"Documents\Employees.xlsx");
            }
    
            private void spreadsheetControl1_CellEditorOpened(object sender,
                DevExpress.XtraSpreadsheet.CellEditorOpenedEventArgs e)
            {
                // If a user activates an editor for a cell in the "Phone Number" column,
                // the editor's TextChanged event fires.
                if (spreadsheetControl1.ActiveCell.ColumnIndex == 5 &&
                    spreadsheetControl1.ActiveCell.RowIndex > 3)
                {
                    var editor = e.Editor;
                    this.editorBackColor = editor.BackColor;
                    editor.TextChanged += Editor_TextChanged;
                }
            }
    
            private void Editor_TextChanged(object sender, EventArgs e)
            {
                // Access the active cell editor. This example assumes
                // that the target cell contains the default editor
                // (a Windows text box control).
                var textEditor = sender as System.Windows.Forms.TextBox;
                if (textEditor == null)
                    return;
                // If the entered number matches the specified regular expression,
                // convert this number to the standard phone number format.
                if (phoneNumber.IsMatch(textEditor.Text))
                {
                    textEditor.Text = phoneNumber.Replace(textEditor.Text, "($1) $2-$3");
                    textEditor.BackColor = editorBackColor;
                }
                else
                    // Otherwise, change the editor's background to the Salmon color
                    // to indicate that the user input is invalid.
                    textEditor.BackColor = Color.Salmon;
            }
        }
    }
    

    The following code snippet (auto-collected from DevExpress Examples) contains a reference to the Editor property.

    Note

    The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

    See Also