Hallo,
ich benutze die Komponente TrueDBGrid Pro 6.0 von der Fa. Apex http://www.apexsc.com und habe jetzt folgendes Problem: Wenn ich auf den Button „Daten Neu“ klicke, (Sub WorkDatenNeu) soll der Cursor im Grid auf eine Neue Zeile am Ende des Grids springen und dort in der ersten Spalte entweder (bei Selection) den Wert einer Combobox hineinschreiben, oder als Default „Neue Gruppe“ hineinschreiben. So weit so gut, es funktioniert.
Jetzt kommt der User, klickt auf Neu Anlegen, gibt dann in der Zeile noch Werte in 2 Zellen ein und klickt anschließend wieder auf Neu Anlegen. Doch was ist jetzt los???
Jetzt hab ich zweimal untereinander den Wert „Neue Gruppe“, aber die anderen Eintragungen sind futsch.
Wer kann mir helfen oder kennt so ein ähnliches Problem?
Hier noch der Code:
Private Sub WorkDatenNeu()
Dim GrTmpArray As New XArray
Dim maxcols, maxrows As Long
'
' In dieser Funktion wird zu einer neuen Zeile im Grid verzweigt und je nach
' Selektion der Combobox (BSLGruppe) ein DefaultWert eingetragen.
TDBGrid1.Refresh
Set GrTmpArray = TDBGrid1.Array ' Array vom Grid temporär kopieren
maxcols = GrTmpArray.UpperBound(2) ' max. Anz. Spalten ermitteln
maxrows = GrTmpArray.UpperBound(1) ' max. Anz. Zeilen ermitteln
GrTmpArray.ReDim 0, maxrows + 1, 0, maxcols ' Array um 1 Zeile erweitern
If cmbBSLGruppe.Text = "" Then ' Defaultwert eintragen (IF-Block)
GrTmpArray(maxrows + 1, 0) = "Neue Gruppe"
Else
GrTmpArray(maxrows + 1, 0) = cmbBSLGruppe.Text
End If
Set TDBGrid1.Array = GrTmpArray ' Array an Grid übergeben
TDBGrid1.ReBind
TDBGrid1.MoveLast ' In neue Zeile springen
TDBGrid1.SetFocus
SaveChanges = False ' Neue Zeile mit Wert, also SaveChanges False
End Sub
MfG
Manuel Kirchberger