From 653dce740dea2ff9e92a1debe380411f57ce8348 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 17 Feb 2022 11:57:27 +0100 Subject: [PATCH] LookupGrid: Make checkbox column unfocusable, remove faulty focusedrowchanged event logic --- Controls.LookupGrid/frmLookupGrid.vb | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Controls.LookupGrid/frmLookupGrid.vb b/Controls.LookupGrid/frmLookupGrid.vb index 6f3eabe0..cf5165d0 100644 --- a/Controls.LookupGrid/frmLookupGrid.vb +++ b/Controls.LookupGrid/frmLookupGrid.vb @@ -57,9 +57,12 @@ Public Class frmLookupGrid If MultiSelect Then ' Selected Spalte anpassen Dim oCheckboxColumn = _View.Columns.Item(0) + 'oCheckboxColumn.Visible = False oCheckboxColumn.Caption = " " oCheckboxColumn.MaxWidth = 30 oCheckboxColumn.MinWidth = 30 + oCheckboxColumn.OptionsColumn.AllowFocus = False + Text = _R.GetString("PopupForm_Text") _DataColumn = 1 @@ -191,6 +194,7 @@ Public Class frmLookupGrid Private Sub HandleCustomKeys(e As KeyEventArgs) If e.KeyCode = Keys.Escape Then Close() + ElseIf e.KeyCode = Keys.F2 Then ' Make sure the currently focused row's state is saved viewLookup.PostEditor() @@ -201,15 +205,6 @@ Public Class frmLookupGrid End If End Sub - Private Sub viewLookup_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles viewLookup.CellValueChanging - If e.RowHandle = GridControl.NewItemRowHandle Then - Exit Sub - End If - - Dim rowHandle = e.RowHandle - Dim column = e.Column - End Sub - Private Sub viewLookup_ShowingEditor(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles viewLookup.ShowingEditor Dim rowHandleIsNewItemRow = (_View.FocusedRowHandle = GridControl.NewItemRowHandle) Dim columnIsCheckboxColumn = (_View.FocusedColumn.FieldName = COLUMN_SELECTED) @@ -262,9 +257,12 @@ Public Class frmLookupGrid End If End Sub + + Private Sub viewLookup_FocusedRowChanged(sender As Object, e As FocusedRowChangedEventArgs) Handles viewLookup.FocusedRowChanged - If AddNewValues AndAlso e.PrevFocusedRowHandle = GridControl.NewItemRowHandle Then - BeginInvoke(Sub() viewLookup.FocusedRowHandle = GridControl.NewItemRowHandle) - End If + ' Removed because it leads to some weird behaviour where you a locked in the new row forever + 'If AddNewValues AndAlso e.PrevFocusedRowHandle = GridControl.NewItemRowHandle Then + ' BeginInvoke(Sub() viewLookup.FocusedRowHandle = GridControl.NewItemRowHandle) + 'End If End Sub End Class \ No newline at end of file