![]() |
Inhalt in die 3. Spalte einer ListView schreiben
Hallo Zusammen,
ich möchte etwas in die 3. Spalte meiner ListView schreiben. Ich habe hier im Forum schon einiges gefunden, aber nur wie man die ListView komplett füllt (1. Spalte, 2. Spalte und dann die 3). Spalte. Aber ich möchte nur die 3. Füllen, da in der 1. und 2. bereits etwas steht. Bin total verzweifelt.:cry: |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Moin,
jede Zeile Deines ListViews (Darstellungsart "Report") besteht aus jeweils einem TListItem. Dieser hat die Eigenschaft "SubItems", welche die Inhalte der Spalten 2-x definieren. Die dritte Spalte setzt Du durch Item.SubItems[1]. |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Danke für deine Antwort.
Mit
Code:
funktioniert es nicht... Fehlermeldung : 'string' enthält kein Element namens 'Add'
SubItems[3].Add(Y);
Was mach ich nur falsch?:? |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Hoi,
Delphi-Quellcode:
SubItems[3] := 'Text';
|
AW: Inhalt in die 3. Spalte einer ListView schreiben
Unter der Voraussetzung, dass dieser Eintrag bereits Inhalte für die dritte Spalte hat, einfach
Delphi-Quellcode:
.
Item.SubItems[1] := 'Moep'
Item.Caption ist die erste Spalte, Item.SubItems[0] = '2. Spalte', Item.SubItems[1] = '3. Spalte' |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Hm also irgendwie klappt das immer noch nicht - ich glaube ich bin einfach zu doof:evil:
Ich denke es hilft, wenn ich mein Fall etwas genauer erkläre: Also ich habe eine ListView, in die lese ich Dateien ein. Die letzte Spalte heißt "Geladen" in diese wird ein 'X' geschrieben, wenn die Datei gerade in verwendung bzw geöffnet ist. Diese abfrage wird mit einem Timer alle 2sec aufgerufen und abgefragt. Nun möchte ich, dass nach der Abfrage halt ein 'X' oder ein ' ' in die letzte Spalte Geladen geschrieben wird (wenn der Fall zutrifft). Ich hoffe ich konnte es gut erklären:? Schonmal vielen Dank an jeden der sich damit jetzt beschäftigt :thumb: |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Existiert denn alle Zeilen und Spalten bereits? Und was besagt die Fehlermeldung?
Wenn schon alles da ist, ist der Zugriff normalerweise einfach:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var Item: TlistItem; begin Item:=ListView1.Items[0]; //Item -> Zugriff gesamte erste Zeile Item.Caption:='setzt Text erste Spalte'; Item.SubItems[0]:='setzt Text zweite Spalte'; Item.SubItems[1]:='+'; //setzt Text dritte Spalte end; |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Moin,
du musst schon sagen wo "genau" du nicht weiter kommst. Vorausgesetzt du addest SubItem 1 (Spalte 3) schon beim Befüllen des ListView, dann sollte sowas hier eigentlich funktionieren glaub ich :)
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var item: TListItem; i: Integer; begin for i := 0 to Length(Datei) - 1 do begin for item in ListView1.Items do begin if item.Caption = Datei[i].Name then begin if Datei[i].IstGeoeffnet then item.SubItems[1] := 'x' else item.SubItems[1] := ''; end; end; end; end; |
AW: Inhalt in die 3. Spalte einer ListView schreiben
Moin Zusammen,
hab es jetzt hinbekommen. Vielen Dank für eure Hilfe :thumb:
Code:
for i := 0 to ListView.Items.Count -1 do begin
li := ListView.Items[i]; if (li.Caption = SearchRec.Name) then li.SubItems.Strings[4] := Y; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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