Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - TListView: Untereinträge löschen
CrazyLuke - So 01.08.04 13:55
Titel: TListView: Untereinträge löschen
Ist es möglich, in einer TListView alle Untereinträge zu löschen (die normalen Einträge sollen bestehen bleiben)?
Keldorn - So 01.08.04 16:32
was verstehst du unter normalen Einträgen, die Caption und als untereintraäge die Subitems?
dann nimm subitems.clear und veranlasse ein neuzeichnen der Listview.
Mfg Frank
CrazyLuke - Sa 28.08.04 14:30
Hallo.
Ich hab einiges probiert, aber er kennt den Befehl nicht. Wie kann ich nun die zweite Spalte der ListView vor einer erneuten Suche löschen?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.Button11Click(Sender: TObject); begin Label33.Caption:='Status: Suche gestartet - bitte warten!'; ListView1.Repaint; application.processmessages;
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'alphaaudio\alphaplayer.exe') then ListView1.Items.Item[0].SubItems.Add('VORHANDEN!') else ListView1.Items.Item[0].SubItems.Add('nicht gefunden');
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'cactuspj.exe') then ListView1.Items.Item[1].SubItems.Add('VORHANDEN!') else ListView1.Items.Item[1].SubItems.Add('nicht gefunden');
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'player\yucca.cds') then ListView1.Items.Item[2].SubItems.Add('VORHANDEN!') else ListView1.Items.Item[2].SubItems.Add('nicht gefunden');
Label33.Caption:='Status: Suche beendet.'; end; |
Hab auch schonmal Refresh probiert, aber wenn ich auf einer CD suche und er ne Datei findet, bleibt das Ergebnis immer bei einer Suche im anderen CD-Laufwerk da stehen...
Keldorn - Sa 28.08.04 15:16
du mußt dich natürlich schon ein wenig mit deinem code auseinandersetzen.
wenn du schreibst
Zitat: |
ListView1.Items.Item[0].SubItems.Add('VORHANDEN!')
|
und ich
kann man da nicht auf die Idee kommen ?
Delphi-Quelltext
1: 2:
| ListView1.Items.Item[0].SubItems.clear; listview1.repaint; |
Obwohl in deinem Fall würde ich das nicht so machen. Ich würde beim Erstellen der Listview dafür sorgen, das zu jedem Eintrag die entprechenden Subitems da sind (subitems.add('') als leeres Subitem) und dann beim Ändern (Löschen wieder '' zuweisen):
Delphi-Quelltext
1:
| ListView1.Items.Item[0].SubItems[0]:='Vorhanden'; |
das subitem muß dann aber existieren, sonst siehst du eine Exception, wie bei deine anderen thread. Würd ich aber besser finden, als das ständige löschen und neu hinzufügen
Mfg Frank
CrazyLuke - Sa 28.08.04 15:53
Danke, es funzt jetzt.
Hab gedacht, mit dem "SubItems.Clear" wärs möglich, sämtliche SubItems zu löschen (und nicht nur die von einem Item).
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure TForm1.Button11Click(Sender: TObject); begin Label33.Caption:='Status: Suche gestartet - bitte warten!'; ListView1.Refresh; application.processmessages;
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'alphaaudio\alphaplayer.exe') then ListView1.Items.Item[0].SubItems[0]:='VORHANDEN!' else ListView1.Items.Item[0].SubItems[0]:='nicht gefunden';
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'cactuspj.exe') then ListView1.Items.Item[1].SubItems[0]:='VORHANDEN!' else ListView1.Items.Item[1].SubItems[0]:='nicht gefunden';
if FileExists(ComboBox1.Items[ComboBox1.ItemIndex] + 'player\yucca.cds') then ListView1.Items.Item[2].SubItems[0]:='VORHANDEN!' else ListView1.Items.Item[2].SubItems[0]:='nicht gefunden';
Label33.Caption:='Status: Suche beendet.'; end; |
Keldorn - Sa 28.08.04 18:23
CrazyLuke hat folgendes geschrieben: |
Hab gedacht, mit dem "SubItems.Clear" wärs möglich, sämtliche SubItems zu löschen (und nicht nur die von einem Item).
|
wenn du
Delphi-Quelltext
1:
| ListView1.Items.Item[0].SubItems.Add('VORHANDEN!') |
schreibst, fügst du dann den eintrag zu sämtlichen subitems hinzu, oder nur für das eine subitem ;) ? gleiches gilt fürs subitems.clear.
Mfg Frank
CrazyLuke - Sa 28.08.04 19:38
Naja, hab gedacht es gäb nen Befehl zum Löschen aller SubItems. Aber so funktioniert es ja auch sehr gut - und ich kann direkt die zukünftigen zu scannenden Kopierschutzmethoden eintragen und als SubItem steht dann da generell " - in Vorbereitung - " 8)
Danke :!:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!