![]() |
Zeile von ListView1 in ListView2 "Kopieren"
Hallo alle zusammen,
ich habe wieder mal ein kleines Problem. Hierbei handelt es sich um eine ListView Kompo. Folgendes ich lese in der 1. LV Werte aus einer Abfrage und trage diese da rein, nun will, wenn man eine Zeile anklickt, diese in die 2.LV Kopieren. Das funtz auch aber irgendwie steht die erste Spalte oben und und der Rest ein Zeile tiefer. Ich habe jetzt schon überall gesucht aber nichts gefunden. |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Moin Albi,
wie wär's denn, wenn Du uns mal an den Ergebnissen Deiner Bemühungen teilhaben lässt, sprich: Wie hast Du's denn versucht? |
Re: Zeile von ListView1 in ListView2 "Kopieren"
So, hier meine bisherigen Ergebnisse.
Über den folgenden Code schreibe ich die Daten in die erste ListView.
Code:
Ich habe es mich Assign versucht aber da habe ich nur alle Zeilen kopieren können, dann habe ich es mit folgenden Code versucht.
With Form14.LVSeaResult Do
Begin While Not Form1.QSeaStPrint.Eof Do Begin For i := 0 To pred(Form1.QSeaStPrint.FieldCount) Do Begin If i = 0 Then Begin ListItem := Items.Add; ListItem.Caption := Form1.QSeaStPrint.Fields[0].asString; End Else Begin ListItem.SubItems.Add(Form1.QSeaStPrint.Fields[1].asString); ListItem.SubItems.Add(Form1.QSeaStPrint.Fields[2].asString); ListItem.SubItems.Add(Form1.QSeaStPrint.Fields[3].asString); QPLZOrtSQL('Select * from "'+DBPath+DBPlz+'" WHERE ID = '+IntToStr(Form1.QSeaStPrint.Fields[4].AsInteger)); ListItem.SubItems.Add(Form1.QPLZOrt.FieldByName('Plz').AsString); ListItem.SubItems.Add(Form1.QPLZOrt.FieldByName('Ort').AsString); end; End; Form1.QSeaStPrint.Next; End;
Code:
Hiermit bekomme ich schon mal die 1. Spalte ordentlich übertragen.
Form14.LVSeaPrint.Items.Add.Caption:= Form14.LVSeaResult.ItemFocused.Caption;
Und dann bin am Ende mit meinem Latein, entweder ich bekomme ne Fehlermeldung oder es passiert garnicht und ich es ahne es schon, die Lösung ist soeinfach. |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Ich würde den Code, zum Füllen der ListView aus der DB, etwas dynamischer gestalten. So wie er jetzt ist wird er bei Änderungen der Daten/Abfrage nicht mehr richtig funktionieren.
Vielleicht hilft dir das ![]() Das Kopieren des Items könnte so klappen (ungetestet nur drauf-los-getippt!)
Delphi-Quellcode:
Var
SrcListItem :TListItem; //Hier weiß ich jetzt nicht, wie der Datentyp heißt... Begin SrcListItem := nil; SrcListItem := Form14.LVSeaResult.ItemFocused; Assert(Assigned(SrcListItem),'LVSeaResult.ItemFokused is not assigned'); With TargetListView.Items.Add Do //neues Item Begin Caption := SrcListItem.Caption; //übertrage Caption For i := 0 to pred(SrcListItem.SubItems.Count) Do //Kopiere alle SubItems SubItems.Add(SrcListItem.SubItems[i]); End; End; |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Ja, das hatte ich mal aber ich will ja die PLz mit darstellten und diese steht in table ja nur als Id. Somit müßte ich diese ja ertmal Filtern und das kam dabei raus. Wenn Du einenVorschlag hast, wie es trotz alle dem dynamischer gestalten kann, immer her damit. Ich lerne immer gerne was neues.
|
Re: Zeile von ListView1 in ListView2 "Kopieren"
Super :P , funzt so wie es haben wollte.
Danke |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Den Code zur Darstellung von DB-Inhalten würde ich immer unabhängig von der Tabellenstruktur schreiben.
Wenn du willst, dass ID als PLZ erscheint, kannst du in deiner Abfrage ein Spaltenalias für ID benutzen. Beispiel:
SQL-Code:
SELECT ID As PLZ -- Diese Spalte wird als PLZ ausgegeben
,Adresse ,Name ,Vorname FROM DeineTabelle |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Zitat:
|
Re: Zeile von ListView1 in ListView2 "Kopieren"
Dann eben so: :wink:
SQL-Code:
SELECT PLZ
,Adresse ,Name ,Vorname FROM DeineTabelle Tab, DeinPLZTabelle PLZ WHERE PLZ.ID = Tab.ID |
Re: Zeile von ListView1 in ListView2 "Kopieren"
Vielen Dank, darauf bin ich gar nicht gekommen es so zu machen, das ist ja viel leichter.
Vielen Dank. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:21 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-2025 by Thomas Breitkreuz