![]() |
wie seletiere ich in einer ListView ein Item automatisch?
Hi
Ich habe eine lvFIles, wo die Filenames gezeigt werden. Wenn ich manuell in dieser Componente ein File markiere dann ist
Delphi-Quellcode:
beides wahr.
Assigned(lvFiles.Selected) and Assigned(lvFiles.Selected.Data)
Doch jetzt habe ich einen Namen eines Files, das im Listview aufscheint und möchte diesen automatisch selectieren dass wieder diese beiden ausdrucker wahr werden. Wie geht das, wer weiß Rat? DANKE |
AW: wie seletiere ich in einer ListView ein Item automatisch?
Wie wäre es wenn du einfach die Property setzt? :stupid:
Delphi-Quellcode:
Das ganze wird dann ausgeführt wenn du z.B. dein ListView füllst und das entsprechende Item erstellt wird nach dem du suchst.
ListView.Selected := ListItem;
|
AW: wie seletiere ich in einer ListView ein Item automatisch?
Oder so
Delphi-Quellcode:
Oder so, dann könnten aber mehrere selektiert sein
procedure TForm1.Button1Click(Sender: TObject);
begin // Selektiere das DRITTE Item (0-basierte Zählung) ListView1.ItemIndex := 2; end;
Delphi-Quellcode:
Natürlich sollte man hier auch prüfen, ob überhaupt entsprechend viele Items in der Liste enthalten sind, damit es nicht zu einem Fehler kommt.
procedure TForm1.Button1Click(Sender: TObject);
begin ListView1.Items[2].Selected := True; end; |
AW: wie seletiere ich in einer ListView ein Item automatisch?
Danke das leuchtet mir ein: Doch wie durchsuche ich den Listview nach den Filenamen den ich selectieren möchte:
Etwa so?
Delphi-Quellcode:
Da kommt der Compiler Err Type mismatch TListItem und TString.
for i := 0 to mainform.frmMain.lvFiles.Items.Count-1 do
begin if mainform.frmMain.lvFiles.Items[i] = 'MeinFILENAME' then mainform.frmMain.lvFiles.Items[i].Selected:=True; end; Steh wohl auf der Leitung... :oops: Ich glaub ich habs:
Delphi-Quellcode:
for i := 0 to mainform.frmMain.lvFiles.Items.Count-1 do
begin lvItem := mainform.frmMain.lvFiles.Items.Item[i]; s := lvItem.Caption +' ' +lvItem.SubItems[0] + ' ' + lvItem.SubItems[1]; pendingfilename:=lvItem.Caption; //ShowMessage(s); if pendingfilename = stringreplace(stringreplace(defaultDATAFilename,'~','',[rfReplaceAll]),'/','',[rfReplaceAll]) then mainform.frmMain.lvFiles.Items[i].Selected:=True; end; |
AW: wie seletiere ich in einer ListView ein Item automatisch?
Zitat:
Delphi-Quellcode:
for i := 0 to ListView1.Items.Count - 1 do
begin if Assigned(ListView1.Items[i]) then begin if AnsiLowerCase(ListView1.Items[i].Caption) = AnsiLowerCase('WasAuchImmer') then begin // Dein Code end; end; end; |
AW: wie seletiere ich in einer ListView ein Item automatisch?
Und jetzt im optimalen Fall noch die Daten von der GUI trennen. Also nicht mehr die Caption prüfen, sondern ein im Item hinterlegtes/zugeordnetes Object.
|
AW: wie seletiere ich in einer ListView ein Item automatisch?
Zitat:
Delphi-Quellcode:
immer True liefert
if Assigned(ListView1.Items[i]) then
und ![]() |
AW: wie seletiere ich in einer ListView ein Item automatisch?
Zitat:
Das steht da nur zur Vorsicht. Nicht, dass ich wieder Ärger von Luckie bekomme :lol: Zitat:
|
AW: wie seletiere ich in einer ListView ein Item automatisch?
Schönen Dank für die Tips, wieder was gelernt!:-D
|
AW: wie seletiere ich in einer ListView ein Item automatisch?
Zitat:
Delphi-Quellcode:
Statt
var
ListItem: TListItem; begin ListItem := ListView1.Items[2]; ShowMessage(ListItem.Caption); end;
Delphi-Quellcode:
:idea:
ShowMessage(ListView1.Items[2].Caption);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz