![]() |
Listview Items Filtern bzw. löschen
Guten Abend,
also ich habe eine Listview (ViewStyle = vsReport) mit 2 Spalten (A und B). In der Spalte A steht entweder Erlaubt oder Verweigert und in der Spalte B verschiedene Dateien. Es kann nun sein das eine Datei mehrmals vorkommt (einmal als Erlaubt und einmal als Verweigert). Bsp.:
Code:
Wie bekomme ich nun raus ob die Datei schon als Verweigert da steht und lösche dann die selbige welche als Erlaubt da steht oder anders gefragt, kann ich das schon beim eintragen in die ListView vermeinden?
Spalte A |Spalte B
------------------------- Erlaubt | Datei1.cmb Erlaubt | Datei2.cmb <--- Dieser eintrag sollte nicht vorhanden sein bzw. gelöscht werden da Verweigert | Datei2.cmb <--- hier die Datei nochmal ist als Verweigert. Erlaubt | Datei3.cmb Verweigert | Datei4.cmb Verweigert | Datei5.cmb <--- Da hier die Datei5.cmb als Verweigert steht Erlaubt | Datei5.cmb <--- darf die Datei hier nicht nochmal als Erlaubt stehen Vielen Dank schonmal im vorraus. mfG Onkelrossie |
Re: Listview Items Filtern bzw. löschen
Liste der Anhänge anzeigen (Anzahl: 1)
Guten Morgen.
In einer ListView würde ich das identifizierende Element immer in der ersten Spalte (Caption) eintragen - in deinem Beispiel wäre das der Dateiname. In anderen Beiträgen habe ich stets den virtuellen Modus (OwnerData = True) der ListView propagiert, aber wenn du die Standardeinstellung verwendest, dann kannst du etwa so vorgehen:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ButtonClick(Sender: TObject);
var item: TListItem; begin item := ListView.FindCaption(0, Edit.Text, False, True, False); if Assigned(item) then item.SubItems[0] := IfThen(CheckBox.Checked, 'Nein', 'Ja') else with ListView.Items.Add do begin Caption := Edit.Text; SubItems.Add(IfThen(CheckBox.Checked, 'Nein', 'Ja')); Selected := True; MakeVisible(False); end; ListView.SetFocus; end; |
Re: Listview Items Filtern bzw. löschen
Gaten Abend, Marabu,
das war der richtige Denkanstoss. Hatt sehr gut geklappt, Danke! mfG Onkelrossie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 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