Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Zeilen in zwei Listviews selektieren (https://www.delphipraxis.net/48216-zeilen-zwei-listviews-selektieren.html)

Bacardifeeling 22. Jun 2005 11:02


Zeilen in zwei Listviews selektieren
 
Moin :hi:

Ich möchte in einem Listview eine Zeile auswählen und im gleichen Schritt soll in einer zweiten Listview die Zeile mit dem gleichen "Listview.Selected.Data" Wert selektiert werden.

Hier ein kleiner Codeschnipsel meines bisherigen Ansatzes...

Delphi-Quellcode:
procedure TBestell1.LV2Click(Sender: TObject);

var
  wahl,wahl2 : TListitem;

begin
  If LV2.Selected <> nil then
    Begin
      wahl := Lv3.FindData(0, Pointer (LV2.Selected.Data), True, False);
      If wahl <> nil then
        Begin
          //???
        end;
    end;
end;
An den formschönen Fragezeichen erkennt man hoffentlich, daß mir die Methodik der Selektierung in der zweiten Listview fehlt...

Wäre schön wenn mir Jemand helfen könnte...

mit freundlichen Grüßen
Bacardifeeling

alcaeus 22. Jun 2005 11:09

Re: Zeilen in zwei Listvies selektieren
 
Hallo Bacardifeeling,

du musst einfach ItemIndex oder Selected der zweiten ListView setzen. In deinem Fall wuerdest du einfach das schreiben:
Delphi-Quellcode:
Lv3.Selected := Lv3.FindData(0, Pointer (LV2.Selected.Data), True, False);
FindData gibt dir ja das gefundene ListView-Item zurueck, und das wird durch eine Zuweisung an Selected ausgewaehlt.

Greetz
alcaeus

Bacardifeeling 22. Jun 2005 11:28

Re: Zeilen in zwei Listvies selektieren
 
Erstmal vielen Dank an Alcaeus für die schnelle Antwort...

habe allerdings in der Zwischenzeit eine Lösung gefunden...

Delphi-Quellcode:
procedure TBestell1.LV2Click(Sender: TObject);

begin
  lv3.ItemIndex := lv2.ItemIndex;
end;

Funktioniert wunderbar und hat neben bei auch den gleichen Ansatz wie dein Lösungsvorschlag :wink:

mit freundlichen Grüßen
Bacardifeeling

100nF 22. Jun 2005 12:10

Re: Zeilen in zwei Listvies selektieren
 
hi,

haben denn lv2 und lv3 genau die gleichen items? und genau gleich viel?

wenn nicht, kannst du
Delphi-Quellcode:
lv3.ItemIndex := lv2.ItemIndex;
nicht verwenden.

Bacardifeeling 22. Jun 2005 12:50

Re: Zeilen in zwei Listvies selektieren
 
@urbanruhin

In meinem fall haben sie den gleichen Index, da ich sie in einem Rutsch aus einer
SQL Query ziehe und dann die eine Hälfte vom ersten Spalteninhalt des Ergebnisses dem ersten LV hinzufüge und den Rest dem zweiten.
Anschließend nehme ich mir dann die nächste Spalte meines SQL-Ergebnisses und eröffne auch eine neue Zeile im LV, usw...

wenn man die Items anders (einzeln, in mehreren Schritten,...) hinzufügt kann der Index nicht passen. Da wäre dann die Abfrage über die "Data" Eigenschaft angebracht.

Hoffe doch mal das ich mit der Erklärung richtig liege... :warn: ...und deine Bedenken zerstreut sind :roteyes:

mit freundlichen Grüßen
Bacardifeeling

100nF 22. Jun 2005 16:51

Re: Zeilen in zwei Listviews selektieren
 
ok, dann funktioniert es so bestimmt...

gruss
urbanbruhin


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 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