AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Inhalt in die 3. Spalte einer ListView schreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Inhalt in die 3. Spalte einer ListView schreiben

Ein Thema von zobien123 · begonnen am 16. Mär 2017 · letzter Beitrag vom 17. Mär 2017
Antwort Antwort
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
94 Beiträge
 
Delphi 10.3 Rio
 
#1

Inhalt in die 3. Spalte einer ListView schreiben

  Alt 16. Mär 2017, 13:43
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.
Jörn
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 16. Mär 2017, 13:52
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].
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
94 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 16. Mär 2017, 14:06
Danke für deine Antwort.

Mit
Code:
SubItems[3].Add(Y);
funktioniert es nicht... Fehlermeldung : 'string' enthält kein Element namens 'Add'

Was mach ich nur falsch?
Jörn
  Mit Zitat antworten Zitat
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 16. Mär 2017, 14:10
Hoi,

SubItems[3] := 'Text';
Thomas
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 16. Mär 2017, 14:12
Unter der Voraussetzung, dass dieser Eintrag bereits Inhalte für die dritte Spalte hat, einfach Item.SubItems[1] := 'Moep' .
Item.Caption ist die erste Spalte, Item.SubItems[0] = '2. Spalte', Item.SubItems[1] = '3. Spalte'
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
94 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 17. Mär 2017, 07:13
Hm also irgendwie klappt das immer noch nicht - ich glaube ich bin einfach zu doof

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
Jörn
  Mit Zitat antworten Zitat
Ydobon

Registriert seit: 3. Mär 2006
261 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 17. Mär 2017, 07:36
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;
  Mit Zitat antworten Zitat
Towmuz

Registriert seit: 21. Sep 2016
Ort: Minden
127 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 17. Mär 2017, 07:38
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;
Thomas
  Mit Zitat antworten Zitat
zobien123

Registriert seit: 3. Mär 2017
Ort: Öhringen
94 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Inhalt in die 3. Spalte einer ListView schreiben

  Alt 17. Mär 2017, 07:57
Moin Zusammen,

hab es jetzt hinbekommen. Vielen Dank für eure Hilfe

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;
Jörn
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:55 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz