LookupGrid: Make checkbox column unfocusable, remove faulty focusedrowchanged event logic

This commit is contained in:
Jonathan Jenne 2022-02-17 11:57:27 +01:00
parent e14c5fd8e2
commit 653dce740d

View File

@ -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