![]() |
DBCtrlGrid - Neuen Satz einfügen
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo zusammen,
ich hoffe jemand kann mir weiter helfen. Ich hab innerhalb eines Frames ein DBCtrlGrid eingefügt um mir Daten aus meiner Datenbank bearbeiten zu können. (Siehe Bild1) Mit dem Blauen + Wird ein neuer Datensatz dem CtrlGrid hinzugefügt. Das Problem ist, der neue Datensatz wird über über dem + eingefügt. (Siehe Bild2) Gibt es eine Möglichkeit dem CtrlGrid zu sagen, es soll bei einem Insert, den Datensatz darunter einfügen? Ich verwende Firebird 2.5. Beim + Imageclick wird folgendes ausgelöst.
Code:
IB_CONTACTAfterEdit() setzt nur Pflichtfelder in die Datenbank.
if IB_CONTACT.State in dsEditModes then
IB_CONTACT.Post; lContact_type_inckey:= IB_CONTACTCONTACT_INCKEY.AsInteger; IB_CONTACT.Insert; IB_CONTACTAfterEdit(IB_CONTACT); IB_CONTACTCONTACTTYPE_INCKEY.AsInteger := lContact_type_inckey; IB_Contact ist das Dataset. |
AW: DBCtrlGrid - Neuen Satz einfügen
Nimm doch einfach Append statt Insert.
|
AW: DBCtrlGrid - Neuen Satz einfügen
Append fügt ganz am Ende ein, as ist hier möglicherweise nicht erwünscht. Vielleicht so:
Code:
Besser wäre es, wenn es ein Kriterium für die Reihenfolge gäbe, zB Zeitpunkt oder eine laufende Nummer.
...
Next; Insert; ... |
AW: DBCtrlGrid - Neuen Satz einfügen
Vielen Dank TigerLilly. Genauso wollte ich es. :) Jetzt wird bei + Betätigung ein Datensatz direkt darunter eingefügt.
Nur kam noch ein Problem hinzu - bei Bestätigter DB Transaktion aber direkt an das Ende des Grids. Öffne ich das Fenster erneut, ist es aber wieder richtig sortiert. :lol: Sortiert sollte es eigentlich nach den Contact_Typ (Telefon, Fax, E-Mail etc.). Was auch funktioniert. |
Dieses Thema wurde am "16. Nov 2018, 10:18 Uhr" von "Luckie" aus dem Forum "Algorithmen, Datenstrukturen und Klassendesign" in das Forum "Datenbanken" verschoben.
|
AW: DBCtrlGrid - Neuen Satz einfügen
Edit. falscher Thread. Sorry.
|
AW: DBCtrlGrid - Neuen Satz einfügen
Ich weiß, ein bisschen alt, aber falls mal wieder wer danacht sucht...
Nur Next und dann Insert kann auch nicht immer passen, denn wenn es schon der letzte Datensatz ist, würde es doch nicht danach gemacht, also müsste man dann wohl doch wieder Append verwenden.
Delphi-Quellcode:
Dataset.Next;
if Dataset.EoF then Dataset.Append else Dataset.Insert; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 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