Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Eintrag im ListView selektieren (https://www.delphipraxis.net/34361-eintrag-im-listview-selektieren.html)

MCXSC 21. Nov 2004 19:26


Eintrag im ListView selektieren
 
Hallo!

Wie kann ich automatisch einen Eintrag im ListView, dessen genauen Tite der ersten Spalte ich kenne, selektieren. Ich will nicht mit der Maus die Zeile auswählen, sondern das soll das Programm automatisch machen.

Geht das überhaupt? Wenn ja, wie?

Danke im vorraus, mcXsc

Elite 21. Nov 2004 20:09

Re: Eintrag im ListView selektieren
 
Bin mir nicht sicher, aber gibt es nicht
Listview1.Items.Find('Der gesuchte Eintrag')

alcaeus 22. Nov 2004 09:37

Re: Eintrag im ListView selektieren
 
Hi MCXSC,

AFAIK gibt es kein IndexOf wie z.B. bei TListBox. Also wirst du wohl oder übel in einer Schleife alle Items des ListViews durchlaufen:

Delphi-Quellcode:
procedure MarkiereItem(sCaption: String);
var
  i: Integer;
begin
  i := 0;
  ListView1.ItemIndex := -1;
  while (i < ListView1.Items.Count) and (ListView1.ItemIndex = -1) do
  begin
    if ListView1.Items[i].Caption = sCaption then
      ListView1.ItemIndex := i;
    Inc(i);
  end;
end;
Ich hab den Code nicht getestet, hab grad kein Delphi...

Greetz
alcaeus

jim_raynor 22. Nov 2004 09:40

Re: Eintrag im ListView selektieren
 
ListView1.ItemIndex gibt es auch nicht.

Wenn dann muss es ListView1.Items[i].Selected:=true oder ListView.Selected:=ListView1.Items[i] heissen.

alcaeus 22. Nov 2004 09:43

Re: Eintrag im ListView selektieren
 
Zitat:

Zitat von jim_raynor
ListView1.ItemIndex gibt es auch nicht.

:wiejetzt: Seit wann das denn?
ItemIndex ist für SingleSelect-ListViews, Items.Selected für MultiSelect-ListViews. Der Code funktioniert durchaus, allerdings sieht er für Multiselect-ListBoxen etwas anders aus:

Delphi-Quellcode:
procedure MarkiereItem(sCaption: String);
var
  i: Integer;
begin
  i := 0;
  while i < ListView1.Items.Count do
  begin
    ListView1.Items[i].Selected := ListView1.Items[i].Caption = sCaption;
    Inc(i);
  end;
end;
Greetz
alcaeus

jim_raynor 22. Nov 2004 09:50

Re: Eintrag im ListView selektieren
 
Zitat:

Zitat von alcaeus
Zitat:

Zitat von jim_raynor
ListView1.ItemIndex gibt es auch nicht.

:wiejetzt: Seit wann das denn?
ItemIndex ist für SingleSelect-ListViews, Items.Selected für MultiSelect-ListViews. Der Code funktioniert durchaus, allerdings sieht er für Multiselect-ListBoxen etwas anders aus:

Wir reden von einer ListView und keine ListBox. Zumindestens bei Delphi 5 gibt es diese Eigenschaft nicht. Es kann natürlich durchaus sein, dass es bei Delphi 6 oder höher diese Eigenschaft gibt. Bei Delphi 5 aber definitiv nicht. :warn:

alcaeus 22. Nov 2004 09:59

Re: Eintrag im ListView selektieren
 
Zitat:

Zitat von jim_raynor
Wir reden von einer ListView und keine ListBox.

Hab ich irgendwo von ListBox gesprochen? :roll:
AFAIK gibts die Eigenschaft schon bei Delphi 5 (jedenfalls kann ich mich daran erinnern diese mal verwendet zu haben.)

Greetz
alcaeus

jim_raynor 22. Nov 2004 10:14

Re: Eintrag im ListView selektieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Glaube mir, bei Delphi 5 gibt es diese Eigenschaft noch nicht. Aber ist völlig egal. Bei Delphi 7 gibt es die wirklich.
Als Anhang habe ich den Auszug aus der Delphi 5 Hilfe ... Nichts zu sehen von ItemIndex ... :dance:

Aber es wird jetzt zu sehr Offtopic ...


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