protected virtual void RaiseCheckEditClick(UxGridView gridView, GridColumn column, int rowHandle, MouseEventArgs e)
        {
            //Adapted from https://supportcenter.devexpress.com/ticket/details/t230842/grid-the-buttonclick-event-is-not-raised-immediately-when-multi-selection-is-enabled
            gridView.FocusedRowHandle = rowHandle;
            gridView.FocusedColumn    = column;
            gridView.ShowEditor();
            //force button click
            var edit = gridView.ActiveEditor.DowncastTo <CheckEdit>();

            edit.Toggle();
            ((DXMouseEventArgs)e).Handled = true;
        }
        protected virtual void RaiseButtonClick(UxGridView gridView, GridColumn column, int rowHandle, MouseEventArgs e)
        {
            //Adapted from https://supportcenter.devexpress.com/ticket/details/t230842/grid-the-buttonclick-event-is-not-raised-immediately-when-multi-selection-is-enabled
            gridView.FocusedRowHandle = rowHandle;
            gridView.FocusedColumn    = column;
            gridView.ShowEditor();
            //force button click
            var edit = gridView.ActiveEditor.DowncastTo <ButtonEdit>();
            var p    = gridView.GridControl.PointToScreen(e.Location);

            p = edit.PointToClient(p);
            EditHitInfo ehi = (edit.GetViewInfo() as ButtonEditViewInfo).CalcHitInfo(p);

            if (ehi.HitTest == EditHitTest.Button)
            {
                edit.PerformClick(ehi.HitObject.DowncastTo <EditorButtonObjectInfoArgs>().Button);
                ((DXMouseEventArgs)e).Handled = true;
            }
        }