Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Hallo,
Ich habe ein keines Test-Projekt geschrieben. Darin ein TMemDataset, da werden zum Test zwei Datensätze hinzugefügt und dann geht es los:
- Klick in die Tabelle in den Datensatz "Zeile 2"
- Klick auf den TSpeedButton macht ein Append
- Klick in das TDBEdit Feld
Dann sorgt der TDBGrid für einen Cancel und man kann keinen Datensatz hinzufügen. Ich meine, wenn man auf das TDBEdit klickt, so verlässt das TDBGrid den Focus und das erzeugt den Cancel.
Kann ich das irgendwie umgehen? - Eine andere Taste als TSpeedButton kann ich nicht verwenden, das wäre ein sehr großer Aufwand mein ganzes Projekt um zu stellen.
Am besten wäre es, wenn man den Quellcode vom TDBGrid korrigiert.
Anbei das Demo-Projekt.
Grüße Markus.
Ich habe ein keines Test-Projekt geschrieben. Darin ein TMemDataset, da werden zum Test zwei Datensätze hinzugefügt und dann geht es los:
- Klick in die Tabelle in den Datensatz "Zeile 2"
- Klick auf den TSpeedButton macht ein Append
- Klick in das TDBEdit Feld
Dann sorgt der TDBGrid für einen Cancel und man kann keinen Datensatz hinzufügen. Ich meine, wenn man auf das TDBEdit klickt, so verlässt das TDBGrid den Focus und das erzeugt den Cancel.
Kann ich das irgendwie umgehen? - Eine andere Taste als TSpeedButton kann ich nicht verwenden, das wäre ein sehr großer Aufwand mein ganzes Projekt um zu stellen.
Am besten wäre es, wenn man den Quellcode vom TDBGrid korrigiert.
Anbei das Demo-Projekt.
Grüße Markus.
- Dateianhänge
-
- TDBGridTest.zip
- (125.78 KiB) 72-mal heruntergeladen
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Hallo Markus,
warum nimmts du nicht SQLite wie sonst auch und setzt Database ins memory?
Gruß hde
warum nimmts du nicht SQLite wie sonst auch und setzt Database ins memory?
Gruß hde
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Ich nehme natürlich eine TZQuery in meinem Original Programm. Die mit SQLite, MySql, MsSQL und PostgreSql. In dem Beispiel hatte ich nur die TMemoryDataset verwendet um auch nach zu weisen dass es nicht an Zeos liegt. (mit Zeos und den anderen DB's ist der Effekt der gleiche.)
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Ich habe ein Bugreport geschrieben:
http://bugs.freepascal.org/view.php?id=26658
http://bugs.freepascal.org/view.php?id=26658
EleLa - Elektronik Lagerverwaltung - www.elela.de
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Eigentlich müsste es reichen, die Option dgCancelOnExit von DBGrid auf false zu setzen.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
Ja, dann klappt es.
Dann hat wohl irgend wer zwischen LCL 1.0.xxx >>> LCL 1.2.4 diese Option in den Default Parametern heimlich gesetzt. Ich schreibe das im Bugreport dazu, dass dieser Parameter als Defaultwert "FALSE" sein sollte.
Dann hat wohl irgend wer zwischen LCL 1.0.xxx >>> LCL 1.2.4 diese Option in den Default Parametern heimlich gesetzt. Ich schreibe das im Bugreport dazu, dass dieser Parameter als Defaultwert "FALSE" sein sollte.
EleLa - Elektronik Lagerverwaltung - www.elela.de
-
- Beiträge: 1466
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Bug 1.2.4: TDBGrid erzeugt ein Cancel nach Append
PS mein Workaround:
Code: Alles auswählen
Var co: TComponent;
for co in Self do
if co is TDBGrid then
TDBGrid(co).Options := TDBGrid(co).Options - [dgCancelOnExit];
EleLa - Elektronik Lagerverwaltung - www.elela.de