lookupgrid fix

This commit is contained in:
Developer02 Digital Data 2019-10-16 17:09:32 +02:00
parent 004b45fa39
commit c3379adb54
2 changed files with 39 additions and 29 deletions

View File

@ -64,7 +64,7 @@ Partial Class frmLookupGrid
Me.btnOK.Name = "btnOK" Me.btnOK.Name = "btnOK"
Me.btnOK.Size = New System.Drawing.Size(117, 23) Me.btnOK.Size = New System.Drawing.Size(117, 23)
Me.btnOK.TabIndex = 0 Me.btnOK.TabIndex = 0
Me.btnOK.Text = "OK" Me.btnOK.Text = "OK (F1)"
Me.btnOK.UseVisualStyleBackColor = True Me.btnOK.UseVisualStyleBackColor = True
' '
'btnClear 'btnClear
@ -80,7 +80,6 @@ Partial Class frmLookupGrid
' '
'frmLookupGrid 'frmLookupGrid
' '
Me.AcceptButton = Me.btnOK
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(384, 261) Me.ClientSize = New System.Drawing.Size(384, 261)

View File

@ -79,30 +79,7 @@ Public Class frmLookupGrid
view.BestFitColumns() view.BestFitColumns()
End Sub End Sub
Private Sub SyncItemsWithView(view As GridView) Private Sub SaveSelectedValues()
' 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
' Filter vor dem Auslesen entfernen, damit alle Werte erfasst werden ' Filter vor dem Auslesen entfernen, damit alle Werte erfasst werden
view.FindFilterText = String.Empty view.FindFilterText = String.Empty
@ -137,6 +114,34 @@ Public Class frmLookupGrid
SelectedValues = oValues SelectedValues = oValues
End If 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 DialogResult = DialogResult.OK
Close() Close()
@ -150,9 +155,15 @@ Public Class frmLookupGrid
End Sub End Sub
Private Sub gridLookup_KeyUp(sender As Object, e As KeyEventArgs) Handles gridLookup.KeyUp Private Sub gridLookup_KeyUp(sender As Object, e As KeyEventArgs) Handles gridLookup.KeyUp
If e.KeyCode = Keys.Escape Then Select Case e.KeyCode
Close() Case Keys.Escape
End If Close()
Case Keys.F1
SaveSelectedValues()
DialogResult = DialogResult.OK
Close()
End Select
End Sub End Sub
Private Sub viewLookup_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles viewLookup.CellValueChanging Private Sub viewLookup_CellValueChanging(sender As Object, e As Views.Base.CellValueChangedEventArgs) Handles viewLookup.CellValueChanging