AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Listview: Spalten verschieben per drag and drop
Thema durchsuchen
Ansicht
Themen-Optionen

Listview: Spalten verschieben per drag and drop

Ein Thema von marlem · begonnen am 14. Mär 2006 · letzter Beitrag vom 25. Apr 2006
Antwort Antwort
marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#1

Listview: Spalten verschieben per drag and drop

  Alt 14. Mär 2006, 11:19
Hallo,

habe zwar einige threads hier entdeckt, mit drag and drop im listview,
aber mein problem nicht!

ich möchte spalten in einem listview per drag & drop verschieben.
Hierfür habe ich die listview eigenschaft fulldrag auf true gesetzt und schon geht es!
nun habe ich habe zwei probleme:

1. mein listview ist ein warenkorb in welchem per programmcode artikel eingetragen werden.
verschiebe ich nun spalten per drag & drop und lege danach einen artikel in den warenkorb
(zu einem artikel gehören artikelnummer, beschreibung, einheit, preis usw.), stimmt die
zuordnung nicht mehr! Sprich in den verschobenen spalten, landemn die verkehrten daten.
damit die zuordnung wieder richtig funktioniert, muss ich das fenster schließen und wieder
öffnen. wie verhindere ich das?

2. wenn im warenkorb(=listview) schon artikel drin sind, soll das verschieben vo spalten per drag
and drop nicht möglich sein! wie bekommt man das "zuverlässig" (so das es immer tut und nicht nur
manchmal) hin?

wäre sehr froh, wenn jemand rat wüßte!
gruß und danke

Markus
  Mit Zitat antworten Zitat
Benutzerbild von fylo
fylo

Registriert seit: 18. Feb 2004
Ort: Rostock
155 Beiträge
 
Delphi 7 Personal
 
#2

Re: Listview: Spalten verschieben per drag and drop

  Alt 15. Mär 2006, 08:39
Hi,

kannst du nicht während des Drag&Drop'ens bzw. danach herausfinden wo sich welche Spalte befindet und dann beim einfügen eines Artikels die Reihenfolge der Daten dementsprechend anpassen?
have fun
fylo
  Mit Zitat antworten Zitat
marlem

Registriert seit: 10. Mär 2006
59 Beiträge
 
Delphi 6 Personal
 
#3

Re: Listview: Spalten verschieben per drag and drop

  Alt 16. Mär 2006, 13:41
öhm... habe ich nicht o ganz geblickt!
momentan probiere ich foplgendes:
Delphi-Quellcode:
procedure TFormKatHaendler.LvwWarenkorbFumoColumnDragged(Sender: TObject);
var
  i : integer;
begin
 //Wenn im Warenkorb was drin ist
  if LvwWarenkorbFumo.Items.Count > 0 then
      begin
      for i := 0 to LvwWarenkorbFumo.Columns.Count-1 do
          begin
          LvwWarenkorbFumo.Column[i].Index := LvwWarenkorbFumo.Column[i].Tag;
          end;
      Meldung('Im Warenkorb sind Artikel, deswegen können die Spalten nicht verschoben werden');
      exit;
      end
  else
    for i := 0 to LvwWarenkorbFumo.Columns.Count-1 do
      LvwWarenkorbFumo.Column[i].Tag := i;

end;
funzt aber nicht immer!
gruß und danke

Markus
  Mit Zitat antworten Zitat
Benutzerbild von fylo
fylo

Registriert seit: 18. Feb 2004
Ort: Rostock
155 Beiträge
 
Delphi 7 Personal
 
#4

Re: Listview: Spalten verschieben per drag and drop

  Alt 16. Mär 2006, 17:11
Also ich hab ebend mal schnell ein Listview auf eine Form gezogen, FullDrag auf True, ViewStyle auf vsReport, ein paar Spalten (Anzahl, Einheit, Beschreibung, Einzelpreis und Gesamtpreis) hinzugefüht und einen Button mit dem ich folgendes mache:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var Item:TListItem;
    anzahl,preis:integer;
begin
  item := listview1.Items.add;
  anzahl:=strtoint(InputBox('Eingabe','Anzahl',''));
  Item.Caption:=inttostr(anzahl);;
  Item.Subitems.Add(InputBox('Eingabe','Einheit',''));
  Item.Subitems.Add(InputBox('Eingabe','Beschreibung',''));
  preis:=strtoint(InputBox('Eingabe','Preis',''));
  Item.Subitems.Add(inttostr(preis));
  Item.Subitems.Add(inttostr(anzahl*preis));
end;
Und siehe da selbst wenn ich die Spalten verschiebe landen die Daten in der richtigen Spalte!

Vielleicht hast du einen Fehler in deiner "Einfügen"-Procedure?
have fun
fylo
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#5

Re: Listview: Spalten verschieben per drag and drop

  Alt 23. Apr 2006, 19:31
Habe des gleiche Problem, bzw. ein kleines anderes:

Wie kann ich denn die Reihenfolge der Spalten spechern und wieder auslesen?
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#6

Re: Listview: Spalten verschieben per drag and drop

  Alt 25. Apr 2006, 15:07
*hoch-schieb*
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:12 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