![]() |
DB-Grid - letzter Datensatz
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich habe mit einem DB-Grid ein Darstellungsproblem: Ich setze einen Filter in einer DB und wenn ich den Filter entferne, wird im DB-Grid der letzte Datensatz leer dargestellt, obwohl es einen letzten Datensatz noch gibt. Setze ich wieder einen Filter, dann werden alle Datensätze angezeigt. Wenn ich ihn wieder entferne, fehlt mir die letzte Zeile. Kennt jemand das Problem oder hat davon schon gehört? Warum wird mir der DS nicht angezeigt? Könnte mir da bitte jemand weiterhelfen? |
AW: DB-Grid - letzter Datensatz
Hallo,
mache nach dem Filter setzen ein Lösung1: DataSet.Close; DataSet.Open; oder Lösung2: DataSet.First; DataSet = deine Query oder Table |
AW: DB-Grid - letzter Datensatz
Danke für Deine Nachricht.
Ahhh... okay ... das werde ich gleich mal versuchen. |
AW: DB-Grid - letzter Datensatz
Also es ist mal wieder alles sehr seltsam ....
Die ursprüngliche Lösung: Einmal geht es, einmal nicht. Die neue Lösung: Bis jetzt gibt's keine Problem. Wäre ja super, wenn es so bleibt. Danke nochmal. |
AW: DB-Grid - letzter Datensatz
Hallo,
welche der beiden Lösungen hast du benutzt, 1 oder 2? |
AW: DB-Grid - letzter Datensatz
Lösung 3?
Nach dem Filtersetzen / -aufheben dem Grid sagen, es möge sich bitte neu zeichnen? Close und Open sind sicherlich eine Lösung und bei vielen Datensätzen erhöht es vermutlich den Kaffeekonsum ;-) Wenn ich zum Filtern schon Close und Open nutze, kann ich auch statt des Filters direkt eine per SQL entsprechend angepasste Datenmenge selektieren ;-) |
AW: DB-Grid - letzter Datensatz
Hallo,
Zitat:
|
AW: DB-Grid - letzter Datensatz
Wieso nicht, mach' ich bei den Querykomponenten auch immer, hat immer funktioniert.
Egal ob TQuery, TADOQuery, TZQuery ... Egal wo die Daten herkommen, bei meinen DBGrids kann ich immer im Grid die Daten bearbeiten. Ausnahme: Man hat im SQL Daten mehrere Tabellen zusammengejoint, dann geht ein Autoedit nicht mehr bzw. beim Post fragt die Datenbank an, was das denn bitteschön soll. Teilweise funktioniert aber selbst das, wenn man im SQL sicherstellt, dass von allen betroffenen Tabellen alle Schlüsselspalten mit in der Ergebnismenge sind. (Und nein: Elegant und/oder empfehlenswert ist das nicht.) Bei 'nem Select * from Tabelle where Spalte = :Wert klappt das wunderbar. |
AW: DB-Grid - letzter Datensatz
Also ich habe das jetzt anders gelöst:
Zum einen verwende ich: DBGrid.DataSource.DataSet.EnableControls; DBGrid.DataSource.DataSet.DisableControls; Und dann benutze ich zwei Tabellen bei der Datenbank. Die eine ist die "für das sichtbare Grid". Und die 2. Tabelle, sich für das - unsichtbare Grid -. Also das erstelle ich bei der Laufzeit. Beide filtere ich mit dem selben Filter. Dann benutze ich die unsichtbare Tabelle, ändere, das ggf. beim Datensatz zu ändern ist und dann aktualisiere ich das sichtbare Grid wieder und schon fehlt mir keine Zeile mehr und vor allem, die Zeile springt mir nicht mehr zur Mitte, sondern der zu ändernde Datensatz bleibt im sichtbaren Grid dort, wo er vor der Anderung war. Ich muss dazu aber sagen: ich ändere nur Datensätze und lösche keine oder füge neue hinzu. (Diese Hopserei/Springerei, war ja auch schrecklich) ;-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz