![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: dbx
Geklonter Master-Detail-Dataset und Cursor
Hallo,
ich habe in meinem Projekt eine Master-Detail Tabelle, mit Clientdataset, Provider etc. programmiert. Von dem Detail-Clientdataset erstelle ich ausserdem noch einen Clone mit CloneCursor. Nun beobachte ich folgendes Verhalten: Wenn ich im Original-Detail-Dataset einen Datensatz lösche, springt der Cursor grundsätzlich zum Anfang der Tabelle, anstatt an der Löschstelle zu bleiben. Für den Bediener ist das natürlich lästig bis gefährlich, wenn er mehrere Datensätze löschen möchte und der Cursor plötzlich wegspringt. Wenn ich umgekehrt im Clone einen Datensatz lösche, bleibt der Cursor an der richtigen Stelle stehen. Gibt es einen Kniff, den Fehler zu beheben, oder muss ich wirklich in meinen 10 Projekten, die ähnlich aufgebaut sind, die Datenmengen vertauschen (ist zwar in allen Projekten von einer Basis abgeleitet, aber wird in den Projekten dann unterschiedlich weiter verwendet). Gruß Rainer |
AW: Geklonter Master-Detail-Dataset und Cursor
Im Notfalls kannst'e immernoch das Delete überschreiben,
Mal kurz zum nächsten Datensatz springen, diesen merken, wieder zurück, löschen und danach zum Gemerkten springen. Falls es keinen Nachfolger gab, dann halt den Vorgänger merken. |
AW: Geklonter Master-Detail-Dataset und Cursor
Kann man nicht BeforeDelete/AfterDelete - Events verwenden?
|
AW: Geklonter Master-Detail-Dataset und Cursor
Bei der Methode mit Datensatz merken und nachher wieder hinspringen hat man dann gleich die Unschönheit, dass der Ausschnitt im DBGrid verrutscht.
Ach, warum kann nicht einfach mal etwas so einfach funktionieren, wie man es erwartet? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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