AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Zeile von ListView1 in ListView2 "Kopieren"

Ein Thema von Albi · begonnen am 4. Mär 2004 · letzter Beitrag vom 10. Mär 2004
Antwort Antwort
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#1

Zeile von ListView1 in ListView2 "Kopieren"

  Alt 4. Mär 2004, 18:02
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.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 4. Mär 2004, 18:54
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?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#3

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 4. Mär 2004, 21:35
So, hier meine bisherigen Ergebnisse.

Über den folgenden Code schreibe ich die Daten in die erste ListView.

Code:
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;
Ich habe es mich Assign versucht aber da habe ich nur alle Zeilen kopieren können, dann habe ich es mit folgenden Code versucht.

Code:
Form14.LVSeaPrint.Items.Add.Caption:= Form14.LVSeaResult.ItemFocused.Caption;
Hiermit bekomme ich schon mal die 1. Spalte ordentlich übertragen.

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.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#4

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 4. Mär 2004, 23:48
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 "SQL Ergebnis in einer Listview Komponente anzeigen?".
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;
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#5

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 5. Mär 2004, 05:46
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.
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#6

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 5. Mär 2004, 05:52
Super , funzt so wie es haben wollte.


Danke
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 5. Mär 2004, 08:32
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
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#8

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 9. Mär 2004, 13:00
Zitat von Robert_G:
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
Robert_G, das ist wohl richtig aber somit hätte ich diesem Fall nicht PLZ sondern nur die ID der PLZ, da diese in einer anderen DB liegen. Also muß ich zuvor diese PLZ erst einmal heraus suchen bevor ich sie eintrage.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 9. Mär 2004, 13:16
Dann eben so:
SQL-Code:
SELECT PLZ
      ,Adresse
      ,Name
      ,Vorname
FROM DeineTabelle Tab,
       DeinPLZTabelle PLZ
WHERE PLZ.ID = Tab.ID
  Mit Zitat antworten Zitat
Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#10

Re: Zeile von ListView1 in ListView2 "Kopieren"

  Alt 10. Mär 2004, 18:30
Vielen Dank, darauf bin ich gar nicht gekommen es so zu machen, das ist ja viel leichter.

Vielen Dank.
  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 13:29 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