AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Mit Multiselect im DBGrid markierte Zeilen löschen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Multiselect im DBGrid markierte Zeilen löschen

Ein Thema von egon.kaschuba · begonnen am 14. Jul 2008 · letzter Beitrag vom 14. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
egon.kaschuba

Registriert seit: 2. Jun 2006
Ort: Buxtehude
80 Beiträge
 
Delphi 7 Architect
 
#1

Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 12:50


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
Glück ist das einzige was sich verdoppelt,wenn man es teilt.
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 13:27
Wann wird denn in deinem Code die Datei überhaupt gelöscht
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 13:40
Hi,

mit folgendem Code kannst du alle selektierten Datenzeilen in einem Grid durchgehen und bearbeiten:

Delphi-Quellcode:
  
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 *)
Bei //Tue irgendwas mit aktuellem Datensatz käme bei dir das Löschen des aktiven Datensatzes rein.


MFG
Lorenz
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
ConstantGardener

Registriert seit: 24. Jan 2006
Ort: Halberstadt
376 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 13:47
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.
Andreas Schachtner
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 14:17
Ja stimmt, habe ich nicht bedacht mit den Bookmarks, hab das in meinem Programm nur, um Informationen aus der DB zu lesen.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
egon.kaschuba

Registriert seit: 2. Jun 2006
Ort: Buxtehude
80 Beiträge
 
Delphi 7 Architect
 
#6

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 15:16


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
Glück ist das einzige was sich verdoppelt,wenn man es teilt.
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#7

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 16:12
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?
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
egon.kaschuba

Registriert seit: 2. Jun 2006
Ort: Buxtehude
80 Beiträge
 
Delphi 7 Architect
 
#8

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 16:29


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
Glück ist das einzige was sich verdoppelt,wenn man es teilt.
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 16:37
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.).
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
egon.kaschuba

Registriert seit: 2. Jun 2006
Ort: Buxtehude
80 Beiträge
 
Delphi 7 Architect
 
#10

Re: Mit Multiselect im DBGrid markierte Zeilen löschen

  Alt 14. Jul 2008, 16:47
Hi,
Reinhardtinho

Ich melde mich wieder muss mal eben mit Rudi (Mein Hund) Gassi gehen.

Gruß
- Egon

PS: Schade das du kein Mailadresse hast.
Glück ist das einzige was sich verdoppelt,wenn man es teilt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:28 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