DBGrid Fehler bei ENTER Taste

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

Hallo,

ich habe auf einem Form ein DBGrid mit einer verbundenen Tabelle - alle Daten werden ordnungsgemäß angezeigt und
man kann auch mit der Maus oder den Cursortasten durch die Daten navigieren.
Drücke ich nun die ENTER Taste dann springt die Aktive Zeile nach unten - ist die letzte sichtbare Zeile erreicht (aber nicht das ende der Tabelle) und
ich drücke weiter ENTER dann kommt folgende Fehlermeldung

Grid index out of range

Warum ?
Wie kann ich dass verhindern ?

Gruß Frank

Soner
Beiträge: 411
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: 32Bit
Wohnort: Hamburg

Re: DBGrid Fehler bei ENTER Taste

Beitrag von Soner »

Bei mir funktioniert es ohne Fehler, entweder du hast eine Optionen-Kombination was Fehler verursacht oder du machst etwas falsch.
Ich würde in deiner Stelle mit einem Beispielprogramm testen.
(Ich habe noch Lazarus 1.6.4)

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

Hallo,

ich habe die Ursache etwas eingegrenzt - wenn die Option dgRowSelect aktiviert ist (ich möchte dass immer die ganze Zeile makiert ist)
dann tritt der Fehler auf.

Ist dass ein Bug oder wie kann man das unterbinden ?

Gruß Frank

EDIT: Es ist ein Bug - er ist bekannt - wird also eine Lösung geben 8)

TT73GP7
Beiträge: 233
Registriert: Di 29. Mär 2016, 20:45

Re: DBGrid Fehler bei ENTER Taste

Beitrag von TT73GP7 »

und was ist wenn du die Option ReadOnly auf True stellst?
kommt dann der fehler noch vor wenn du auf enter drückst?

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

TT73GP7 hat geschrieben:und was ist wenn du die Option ReadOnly auf True stellst?
kommt dann der fehler noch vor wenn du auf enter drückst?


ReadOnly steht auf True

Soner
Beiträge: 411
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win7Pro-32Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: 32Bit
Wohnort: Hamburg

Re: DBGrid Fehler bei ENTER Taste

Beitrag von Soner »

Bei mir macht es auch mit Readonly=true nicht.
Wo steht das es ein Bug ist? Hast du ein Link?

wp_xyz
Beiträge: 3269
Registriert: Fr 8. Apr 2011, 09:01

Re: DBGrid Fehler bei ENTER Taste

Beitrag von wp_xyz »

Auch ich kann's weder mit Laz-Trunk noch 1.8 (beide mit fpc 3.04) nachvollziehen (Win 10). Wie ist AutoAdvance eingestellt? Denn normalerweise geht die aktive Zelle beim Drücken von ENTER zuerst nach rechts und erst am Ende der Zeile nach unten.

Welches Betriebssystem? Welche Laz/FPC-Version?

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

Hallo,

es tritt nur auf wenn dgRowSelect aktiviert ist.

Wersion 1.8.0 unter Win7

wp_xyz
Beiträge: 3269
Registriert: Fr 8. Apr 2011, 09:01

Re: DBGrid Fehler bei ENTER Taste

Beitrag von wp_xyz »

Auch mit dgRowSelect gibt es kein Problem. Auch nicht auf meiner VM mit Win7, wobei ich dort einen etwas älteren Laz-trunk und Laz 1.6 habe.

MacWomble
Lazarusforum e. V.
Beiträge: 977
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

Re: DBGrid Fehler bei ENTER Taste

Beitrag von MacWomble »

Verwendest du eventuell Zeos für die DB-Anbindung?

Ich verwende die Ver 5.9.1 Rev 3931, da ich mit den nachfolgenden Versionen diverse Probleme (u.a. auch das von dir beschriebene) hatte.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

Hallo MacWomble,

ja, ich verwende Zeos - werde mal eine andere version testen.

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

... liegt nicht an Zeos !
Habe ein Testprog gemacht mit einem SdfDataset, DataSource und einem DBGrid - Fehler kommt trotzdem.

DL3AD
Beiträge: 434
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Buster (L 2.0.2)
CPU-Target: 64Bit
Wohnort: Rügen

Re: DBGrid Fehler bei ENTER Taste

Beitrag von DL3AD »

Hallo,

habe die Lösung gefunden.
Wenn dgRowSelect aktiviert ist dann muss man AutoAdvance auf aaDown stellen - dann kommt kein Fehler mehr.

wp_xyz
Beiträge: 3269
Registriert: Fr 8. Apr 2011, 09:01

Re: DBGrid Fehler bei ENTER Taste

Beitrag von wp_xyz »

Ah, ich hatte oben, als RowSelect noch nicht aktiv war, das AutoAdvance auf aaDown gestellt. Jetzt sehe ich das mit Laz 1.8 auch, aber nicht mit Laz trunk. Michl hat vor einigen Tagen ein paar Änderungen eingebracht, die ein anderes Problem mit der letzten Zeile gelöst haben (https://bugs.freepascal.org/view.php?id=33294) - und offenbar das hier gleich mit. Der Fix ist für Laz 1.8.4 vorgesehen.

Antworten