![]() |
Mit Multiselect im DBGrid markierte Zeilen löschen
:wall:
Hallo ! Also ,da möchte ich aus einem DBGrid mit Multiselect verschiedene Zeilen mit dem " Multiselect-Punkt " versehen und dann anschließend löschen. In der Option ist Multiselect auf True gesetzt. Funktioniert aber nicht. Probiert habe ich das mal so ... var i : Integer; procedure TForm1.ButtonClick(Sender: TObject); var mehrDaten : Boolean; begin if i < Form1.DBGrid1.SelectedRows.Count) then Form1.Table1.Boockmark := Form1.DBGrid1.SelectedRows[i]; inc(i); MehrDaten := (i <= Form1.DBGrid1.SelectedRows.Count); end; Wo mache ich den Fehler? Und wer kann mie helfen ?? Gruß -Egon |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Wann wird denn in deinem Code die Datei überhaupt gelöscht :gruebel: :-D
|
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Hi,
mit folgendem Code kannst du alle selektierten Datenzeilen in einem Grid durchgehen und bearbeiten:
Delphi-Quellcode:
Bei //Tue irgendwas mit aktuellem Datensatz käme bei dir das Löschen des aktiven Datensatzes rein.if (DBGrid1.SelectedRows.Count > 0) then begin with DBGrid1.DataSource.DataSet do for i := 0 to DBGrid1.SelectedRows.Count - 1 do begin GotoBookmark(Pointer(DBGrid1.SelectedRows.Items[i])); //Tue irgendwas mit aktuellen Datensatz end; (* of for *) DBGrid1.SelectedRows.Clear; end (* of if *) MFG Lorenz |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Hallo,
der Code von Reinhardtiho funktioniert prinzipiell schon. Beim löschen würde ich die Schleife allerdings rückwärts laufen lassen, da man sonst Probleme mit der Bookmarkzuordnung bekommt. Ich lösche die markierten Datensätze meist über eine TQuery per SQL (Schlüssel hole ich aus der TTable) und aktualisiere dann die TTable. |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Ja stimmt, habe ich nicht bedacht mit den Bookmarks, hab das in meinem Programm nur, um Informationen aus der DB zu lesen.
|
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
:roll:
Hi, klar was Reinhardtinho da geschrieben hat. Aber da ist bei mir der Wurm. Wenn ich zum Beispiel den ersten Datensatz mit Multiselect markiere ist alles OK , dann habe ich den " Punkt " . Nehme ich dann den dritten oder achten u.s.w. bekomme ich nicht mehr den " Punkt " um die so ausgewählten Datensätze zu löschen. Hier so ne kleine Demo wie ich das meine. Datensatz 1 . markieren und löschen Bananen Datensatz 3 . markieren und löschen Äpfel Pflaumen Kirschen Zitronen Datensatz 9 . markieren und löschen Gruß - Egon |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Das verstehe ich jetzt nicht ganz.
Du willst schon die 3 Datensätze gleichzeitig löschen? Und welcher "Punkt" geht dir verloren, wenn du eine Zeile löscht, die nicht die erste ist? |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
:x
Hi, Ja, Reinhardtinho das ist ja der Hacken beider Sache. Klick ich zum Beispiel den ersten an ,bekomme ich das zeichen .>> Klick ich dann den achten an bekomme ich wieder das zeichen .>> Aber dann ist der obere Datensatz mit dem Punkt versehen. . Mache ich dann so weiter bekomme ich wieder NUR das zeichen .>> Es soll so sein das wenn ich den ersten und den dritten u.s.w. Anklicke der Punkt stehen bleibt. Sodas ich die markierten Felder löschen kann. In einem Buch von Doberenz das Kochbuch wird soetws gezeigt,aber datt geit nich. Denn Lesen kann ich. Gruß -Egon |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Ich weiß ehrlich gesagt immer noch nicht, was du meinst. Mach doch bitte mal ein Screenshot, ich vermute mal, dass es sich um was visuelles handelt (Punkt, Zeichen, etc.).
|
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Hi,
Reinhardtinho Ich melde mich wieder muss mal eben mit Rudi (Mein Hund) Gassi gehen. Gruß - Egon PS: Schade das du kein Mailadresse hast. |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Hallo,
initialisierst Du Deine Variable "i" eventuell nicht? ;-) |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Hallo Egon,
du wählst durch einfaches Anklicken immer nur einen Datensatz aus. Wenn du beim Klicken die Taste STRG gedrückt hältst, dann kannst du einzelne Datensätze hinzu- oder abwählen. Freundliche Grüße |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
:dancer2:
Hallo Marabu ! Gott lob es hat mich einer verstanden. Ich bin Happy. Trotzdenm an alle Danke. Gruß - Egon |
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Zitat:
|
Re: Mit Multiselect im DBGrid markierte Zeilen löschen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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 by Thomas Breitkreuz