Hallo,
ich habe ein DBGrid.
Ich wollte für bestimmte Felder eine Combobox als Auswahl beim Ändern oder Neuanlagen eines Datensatzes verwenden.
Dies funktioniert soweit gut, bis ich die Daten zurückschreiben möchte in die Datenbank.
Er schreibt die Werte auch brav in das DBGrid.
Ich verwende folgendes, damit die Daten von der Combobox in das DBGrid geschrieben werden:
DBGrid.SelectedField.NewValue:=Combobox.Text;
Beim Aktualisieren des Datensatzes, wird nur ein Wert der letzte geänderte Wert aktualisiert.
Alle andere gäenderten Werte werden nicht mit übernommen.
Hat jemand schon mal dieses Versucht?
Muss ich irgendwas machen, bevor ich die Daten per SQLQuery.Post, und ApplyUpdates aktualisiere?
Danke.
Gruß
DBGrid Combobox [gelöst]
-
- Beiträge: 99
- Registriert: Do 23. Dez 2010, 19:10
- OS, Lazarus, FPC: Windows 10/11 32/64bit, L 3.2.0 32/64bit, FPC 3.2.2 32/64bit
DBGrid Combobox [gelöst]
Zuletzt geändert von VB_Lazarus am Do 26. Feb 2015, 05:26, insgesamt 1-mal geändert.
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: DBGrid Combobox
Probiere mal
TField.NewValue hat AFAIK eine Spezialfunktion.
Code: Alles auswählen
DBGrid.SelectedField.asstring:= Combobox.Text;
oder
DBGrid.SelectedField.value:= Combobox.Text;
-
- Beiträge: 99
- Registriert: Do 23. Dez 2010, 19:10
- OS, Lazarus, FPC: Windows 10/11 32/64bit, L 3.2.0 32/64bit, FPC 3.2.2 32/64bit
Re: DBGrid Combobox
Danke, für die schnelle Antwort.
2. Variante habe ich schon probiert.
Es erscheint eine Fehlermeldung, dass die Query nicht im Edit-Modus ist.
Habe auch schon versucht den Edit-Modus vor dem Aufruf zu plazieren.
Hat leider nicht funktioniert.
Die 1. Variante müsste ich Heute abend mal ausprobieren.
2. Variante habe ich schon probiert.
Es erscheint eine Fehlermeldung, dass die Query nicht im Edit-Modus ist.
Habe auch schon versucht den Edit-Modus vor dem Aufruf zu plazieren.
Hat leider nicht funktioniert.
Die 1. Variante müsste ich Heute abend mal ausprobieren.
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: DBGrid Combobox
Sollte aber.VB_Lazarus hat geschrieben:Danke, für die schnelle Antwort.
2. Variante habe ich schon probiert.
Es erscheint eine Fehlermeldung, dass die Query nicht im Edit-Modus ist.
Habe auch schon versucht den Edit-Modus vor dem Aufruf zu plazieren.
Hat leider nicht funktioniert.
Die braucht ebenfalls den edit-Modus.Die 1. Variante müsste ich Heute abend mal ausprobieren.
-
- Beiträge: 1581
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 4 FPC 3.2.2)
- CPU-Target: 32/64Bit
Re: DBGrid Combobox
Code: Alles auswählen
IF DBGrid.Datasource.Dataset.IsEmpty Then
DBGrid.Datasource.Dataset.Append
Else Not(DBGrid.Datasource.Dataset.State In [dsEdit, dsInsert]) Then
DBGrid.Datasource.Dataset.Edit;
DBGrid.SelectedField.asstring:= Combobox.Text;
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 99
- Registriert: Do 23. Dez 2010, 19:10
- OS, Lazarus, FPC: Windows 10/11 32/64bit, L 3.2.0 32/64bit, FPC 3.2.2 32/64bit
Re: DBGrid Combobox [gelöst]
Danke, für die Lösungsvorschläge.
MmVisual, deine Variante hat die Lösung für mein Problem gebracht.
MmVisual, deine Variante hat die Lösung für mein Problem gebracht.