Hallo Gemeinde,
ich habe eine kleines Problem. Bin da jetzt schon ewig darüber und bekomme es nicht hin. Mir fehlt irgendwie die Logik! Nun zu meinem Problem:
Ich möchte eine Zeile in einem SevDataGrid2 editieren. Wenn ich die 2 Spalte editierre soll es automatisch die 3 Zeile ausfühlen.
z.B:
Private Sub sevGrid1_AfterCellEdit(nRow As Long, nCol As Long, ByVal sText As _
String)
With sevGrid1
If .IsEditMode = MODE_ADDNEW Then
If nCol = .GetCol("KFZ") Then
' Telefon anhand ausgewählter KFZ autom. eintragen
If Not IsNull(.EditValue) Then
.CellNew("Telefon") = .EditSubItem("Telefon")
.CellNew("SUB") = .EditSubItem("SUB")
End If
End If
End If
End With
End Sub
Private Sub sevGrid1_EditComboClick(ByVal ListIndex As Long, ByVal sText As _
String)
' Beim Hinzufügen/Ändern einer neuen Datenzeile, Telefon übernehmen
With sevGrid1
If .Col = .GetCol("KFZ") Then
If .IsEditMode = MODE_ADDNEW Then
sevGrid1_AfterCellEdit .Rows + 1, .Col, sText
Else
.Text(.Row, "Telefon") = .EditSubItem("Telefon")
.Text(.Row, "SUB") = .EditSubItem("SUB")
End If
End If
End With
End Sub
Private Sub sevGrid1_AfterUpdate(ByVal nRow As Long, ByVal nCol As Long, ByVal _
sText As String)
With sevGrid1
If nCol = .GetCol("KFZ") Then
.Recordset.Fields("Telefon") = .EditSubItem("Telefon")
.Recordset.Fields("SUB") = .EditSubItem("SUB")
.Recordset.Update
End If
.RowRefresh
End With
End Sub Mein Problem ist, damit es mir vorher die Datensätze Sortiert und dann erst die Spalte/Zeile automatisch mit den Daten füllt. Das heißt wenn ich die erste Zeile editiere und diese wird durch die Autosort funktion an das Ende des Datensatzes stellt, wird erst Sortiert und dann das Recordset aktualisiert. Er schreibt die Daten in die erste Zeile obwohl diese dann zum Schluß steht. Hat das jemand verstanden.
Wenn ich Autosort abschalte funktioniert das auch, da er ja nicht sortiert und die erste Zeile die erste Zeile bleibt. Ich wollte das auch schon automatisieren. Und da komme ich nicht weiter.
z.B:
Private Sub sevGrid1_BeforeSort(ByVal Sort As String, Cancel As Boolean)
With sevGrid1
If .IsEditMode = MODE_EDIT Then
Cancel = True
Else
If .LostFocusEditMode = GRID_UPDATEROW Then
Cancel = True
End If
End If
End With
End Sub Kann mir jemand helfen da etwas mehr durchblick zu bekommen!
Danke für eure Mühen!
Grüße
Gerhard |