diff --git a/Controls.LookupGrid/frmLookupGrid.Designer.vb b/Controls.LookupGrid/frmLookupGrid.Designer.vb index d12553f3..fd20ba0a 100644 --- a/Controls.LookupGrid/frmLookupGrid.Designer.vb +++ b/Controls.LookupGrid/frmLookupGrid.Designer.vb @@ -64,7 +64,7 @@ Partial Class frmLookupGrid Me.btnOK.Name = "btnOK" Me.btnOK.Size = New System.Drawing.Size(117, 23) Me.btnOK.TabIndex = 0 - Me.btnOK.Text = "OK" + Me.btnOK.Text = "OK (F1)" Me.btnOK.UseVisualStyleBackColor = True ' 'btnClear @@ -80,7 +80,6 @@ Partial Class frmLookupGrid ' 'frmLookupGrid ' - Me.AcceptButton = Me.btnOK Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.ClientSize = New System.Drawing.Size(384, 261) diff --git a/Controls.LookupGrid/frmLookupGrid.vb b/Controls.LookupGrid/frmLookupGrid.vb index 0a013eb3..3abfeda0 100644 --- a/Controls.LookupGrid/frmLookupGrid.vb +++ b/Controls.LookupGrid/frmLookupGrid.vb @@ -79,30 +79,7 @@ Public Class frmLookupGrid view.BestFitColumns() End Sub - Private Sub SyncItemsWithView(view As GridView) - ' Wenn Vorbelegungen existieren, werden diese angehakt - If SelectedValues.Count > 0 Then - For i = 0 To view.DataRowCount - 1 - Dim rowHandle = view.GetRowHandle(i) - Dim rowView As DataRowView = view.GetRow(rowHandle) - - If rowView IsNot Nothing Then - Dim row As DataRow = rowView.Row - Dim value = row.Item(dataColumn) - - If SelectedValues.Contains(value) Then - If MultiSelect Then - row.Item(0) = True - Else - view.SelectRow(rowHandle) - End If - End If - End If - Next - End If - End Sub - - Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click + Private Sub SaveSelectedValues() ' Filter vor dem Auslesen entfernen, damit alle Werte erfasst werden view.FindFilterText = String.Empty @@ -137,6 +114,34 @@ Public Class frmLookupGrid SelectedValues = oValues End If + End Sub + + + Private Sub SyncItemsWithView(view As GridView) + ' Wenn Vorbelegungen existieren, werden diese angehakt + If SelectedValues.Count > 0 Then + For i = 0 To view.DataRowCount - 1 + Dim rowHandle = view.GetRowHandle(i) + Dim rowView As DataRowView = view.GetRow(rowHandle) + + If rowView IsNot Nothing Then + Dim row As DataRow = rowView.Row + Dim value = row.Item(dataColumn) + + If SelectedValues.Contains(value) Then + If MultiSelect Then + row.Item(0) = True + Else + view.SelectRow(rowHandle) + End If + End If + End If + Next + End If + End Sub + + Private Sub btnOK_Click(sender As Object, e As EventArgs) Handles btnOK.Click + SaveSelectedValues() DialogResult = DialogResult.OK Close() @@ -150,9 +155,15 @@ Public Class frmLookupGrid End Sub Private Sub gridLookup_KeyUp(sender As Object, e As KeyEventArgs) Handles gridLookup.KeyUp - If e.KeyCode = Keys.Escape Then - Close() - End If + Select Case e.KeyCode + Case Keys.Escape + Close() + Case Keys.F1 + SaveSelectedValues() + + DialogResult = DialogResult.OK + Close() + End Select End Sub Private Sub viewLookup_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles viewLookup.CellValueChanging