Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGRid - Zeile einfügen (https://www.delphipraxis.net/36010-dbgrid-zeile-einfuegen.html)

Matt 14. Dez 2004 17:04


DBGRid - Zeile einfügen
 
Hallo DPler,

ich habe noch eine Frage und zwar würde ich gern in einem DBGrid zwischen 2 Zeilen einen neue einfügen. Ich benutze das DBGrid für eine Aufstellung mit laufenden Nummern. Wenn ich nun merke, das ich ich zwischen der Nummer 4 und 5 etwas vergessen habe würde ich gern zu fünf gehen und eine Zeile einfügen. 5 wird dann zu 6 und alle danach natürlich auch +1.

Hat jemand einen Tipp oder Ansatzpunkt?
Vielen Dank im voraus!

Gruß Matt

r_kerber 14. Dez 2004 17:10

Re: DBGRid - Zeile einfügen
 
Moin Matt,

ein DBGrid ist immer das Abbild einer Tabelle der Datenbank. Das heißt also, Du mußt das über den Tabellen-Inhalt machen, also zunächst ein Update über alle Datensätze mit der laufenden Nr > 4 und diese um eins erhöhen. Und dann dan Datensatz einfügen. Das kann jedoch Probleme bereiten, wenn die laufende Nummer ein Autoinc-Feld oder wenn dieses Feld in RI verstrickt ist (Gibt's so etwas bei MySQL überhaupt? :gruebel:).

Matt 14. Dez 2004 17:40

Re: DBGRid - Zeile einfügen
 
Hallo r_kerber,

die laufende Nummer ist kein AutoInc. Also füge ich ganz normal ein DS hinzu und ersetze nur die laufenden Nummern und lasse nach der lfd. Nummer sortieren, damit es so aussieht als würde da einer eingerückt? Ich versuche es mal! DANKE für den Tipp!

Bleibt nur noch die Frage, wie ich an der Stelle eine Zeile einfüge, der Benutzer soll ja denken, das er an der Stelle etwas einfügt und nicht in einer neuen Zeile, vor allem muss die lfd. Nummer ja automatisch in dem Moment gesetzt werden an der Stelle, wo er etwas einfügen will :gruebel: hmm.... das wird ja noch ein ganz schöner Akt...

Gruß Matt

r_kerber 14. Dez 2004 18:05

Re: DBGRid - Zeile einfügen
 
Moin Matt,

wie wär's wenn Du die Daten in ein Stringgrid schreibst und anschließend die Änderungen zurückspielst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz