Thema: Delphi Positionen Um-Sortieren

Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Positionen Um-Sortieren

  Alt 21. Okt 2004, 02:53
Hallo rocksoft,

dann wäre es sinnvoll die Position als Feld in der Datenbank mitzuführen. Wenn du jetzt einen Button "Aktuelle Position nach oben" anklickst und die aktuelle Position ist z.B. 5, dann suchst du zunächst Pos4 z.B. über und verschiebst den Satz an eine Position, die du sonst nicht nutzt:

Delphi-Quellcode:
myTable.FindKey([4]);
myTable.Edit;
myTable.FieldByName('Pos').AsInteger := 9999;
myTable.Post;
Dann verschiebst du den alten 5er an die Position 4:
Delphi-Quellcode:
myTable.FindKey([5]);
myTable.Edit;
myTable.FieldByName('Pos').AsInteger := myTable.FieldByName('Pos').AsInteger-1;
myTable.Post;
und jetzt holst du den Datensatz von ganz hinten wieder:
Delphi-Quellcode:
myTable.FindKey([9999]);
myTable.Edit;
myTable.FieldByName('Pos').AsInteger := 5;
myTable.Post;
Wenn du jetzt noch vorher

myTable.DisableControls; und hinterher

myTable.EnableControls; aufrufst, sieht der Nutzer von der Verschiebung erst nachdem alles wieder richtig positioniert ist.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat