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; } }