dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Moin bei meiem Programm gibt es Tabellen und untertabellen die teilweise keine Datensätze enthalten in dem Fall zeigt das Grid eine komplett leere Zeile an.
Der user wählt diese Zeile mit einem Doppelklick aus wenn eer dort einen neuen Datensatz anlegen soll das funktioniert aber nicht weil mit einem Doppelklick normalerweise Datensätze bearbeitet werden und nicht hinzugefügt.
Wie kann ich verhindern das mein Grid überhaupt eine Zeile anzeigt wenn keine Datensätze vorhanden sind??
Der user wählt diese Zeile mit einem Doppelklick aus wenn eer dort einen neuen Datensatz anlegen soll das funktioniert aber nicht weil mit einem Doppelklick normalerweise Datensätze bearbeitet werden und nicht hinzugefügt.
Wie kann ich verhindern das mein Grid überhaupt eine Zeile anzeigt wenn keine Datensätze vorhanden sind??
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden
Bau dir ein eigenes Grid. Das DBgrid verhält sich so wie sich DBGrids seit Delphi 1.0 verhalten. Das ist an einigen Stellen anders als sich z.b. Excel verhält. Aber da gibt es sowiso kein Applikationsübergreifendes "Normverhalten"
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Hallo, ich pack mal den alten Fred aus.
Gibt es da eine Lösung ?
Die Antwort hier hilft mir persönlich leider nicht weiter
Lg Bernie
Gibt es da eine Lösung ?
Die Antwort hier hilft mir persönlich leider nicht weiter

Lg Bernie
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Mit einem Stringgrid die Datensätze selbst einlesen?Bernie110 hat geschrieben: Di 30. Jun 2020, 16:16 Hallo, ich pack mal den alten Fred aus.
Gibt es da eine Lösung ?
Die Antwort hier hilft mir persönlich leider nicht weiter
Lg Bernie

Macht mehr Arbeit als dbgrid, aber es macht was es soll.
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1639
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Oder wesentlich flexibler und schneller den VirtualStringTree verwenden.
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Versteh ich nicht. Das DBGrid hat gar kein Verhalten bei einem Doppelklick vorgegeben, es wird nur der einfache Click ausgewertet, und der bringt die geklickte Zelle in den Edit-Modus. Das bedeutet: wenn es noch gar keine Datensätze gibt, so wird es dir ermöglicht, mit Hilfe der leeren Zeile neue Daten direkt ins Grid einzugeben. Daher sehe ich keinen Grund, dass die leere Zeile fehl am Platz wäre.leveltwo hat geschrieben: Do 24. Nov 2016, 14:27 Moin bei meiem Programm gibt es Tabellen und untertabellen die teilweise keine Datensätze enthalten in dem Fall zeigt das Grid eine komplett leere Zeile an.
Der user wählt diese Zeile mit einem Doppelklick aus wenn eer dort einen neuen Datensatz anlegen soll das funktioniert aber nicht weil mit einem Doppelklick normalerweise Datensätze bearbeitet werden und nicht hinzugefügt.
Ich denke das Problem, das du schilderst, steckt in deinem Programm selbst, nicht im DBGrid. Bitte zeige mehr Code, was du genau machst, am besten als selbständiges kleines Demo-Programm.
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Hi, ich denke er macht das Gleiche wie ich es mache.wp_xyz hat geschrieben: Mi 1. Jul 2020, 11:17 wenn es noch gar keine Datensätze gibt, so wird es dir ermöglicht, mit Hilfe der leeren Zeile neue Daten direkt ins Grid einzugeben. Daher sehe ich keinen Grund, dass die leere Zeile fehl am Platz wäre.
Ich denke das Problem, das du schilderst, steckt in deinem Programm selbst, nicht im DBGrid. Bitte zeige mehr Code, was du genau machst, am besten als selbständiges kleines Demo-Programm.
Das DBGrid dient eigentlich nur zur tabellarischen Ansicht. ReadOnly = True.
und wird durch eine SQl Abfrage befüllt :
Code: Alles auswählen
SQLQuery2.close;
SQLQuery2.SQL.Clear;
SQLQuery2.SQL.Add('select * from v_DT_PACKST_ERFASSUNG_ZUSAM_SNDG_STATUS_ALLE where SNDG_ID = '''+SNDG_ID.text+''' ORDER BY LT_ID;');
SQLQuery2.open;
Liefert das Abfrage Ergebnis ( bei Filterung ) z.B. keinen Wert weil SNDG_ID <> SNDG_ID.text, dann erscheint im DBGrid eine leere Zeile.
Ich öffne auch über zb: DBGrid1DblClick andere Formulare die auf die Daten der Abfrage basieren.
Einen Fehler fange ich momentan so ab, dass ich die Zeilen des DBGrids auf Inhalt überprüfe.
Einfacher wäre es halt wenn diese leere Zeile gar nicht da wäre.
Gruss Bernie
-
- Beiträge: 31
- Registriert: So 14. Aug 2011, 09:11
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Wenn ich keine Leerzeile in einer DBGrid haben will,
dann schließe ich einfach die zugehörige Query.
dann schließe ich einfach die zugehörige Query.
Re: dbgrid zeigt leere Zeile wenn keine Datensätze vorhanden sin
Hi hm auch ne Idee. Du fragst also ab ob Inhalt da ist und wenn nicht setzt du ein Close ?TraumTaenzerDieter hat geschrieben: Mi 1. Jul 2020, 16:11 Wenn ich keine Leerzeile in einer DBGrid haben will,
dann schließe ich einfach die zugehörige Query.
Lg Bernie
edit ... musste ich schnell ausprobieren. klar funktioniert einwandfrei..genau so hatte ich mir das vorgestellt !! Danke !!