AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein ListView, ich verstehe sie einfach nicht, suche Hilfe
Thema durchsuchen
Ansicht
Themen-Optionen

ListView, ich verstehe sie einfach nicht, suche Hilfe

Ein Thema von jumper63 · begonnen am 27. Mär 2022 · letzter Beitrag vom 1. Apr 2022
Antwort Antwort
jumper63

Registriert seit: 25. Aug 2019
Ort: Berlin
8 Beiträge
 
Delphi 10.3 Rio
 
#1

ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 27. Mär 2022, 15:23
Guten Tag Forum,
ich(30 Jahre, John=) habe mich hier angemeldet weil ich nicht mehr weiter weiß.
Bisher konnte mir mein Papa immer gut helfen, allerdings hat er bei der ListView recht schnell aufgegeben und ich genauso.
Die ListView scheint mir entweder sehr kompliziert, oder es ist für meine Wünsche nicht nutzbar.

Ich programmiere jetzt schon eine Weile und bin durch probieren und googlen meistens zum Ziel gekommen,
mein Papa stet mir für Fragen auch immer zur Verfügung. Hier im Forum habe ich auch schon gesucht, allerdings komme ich kein Stück mehr weiter.

Ich habe bisher mit einer StringGrid gearbeitet, dort kann ich wunderbar Zeilen hinzufügen und auslesen, z.b. mit:
Hinzufügen:
StringGrid1.cells[1,3]:= 'Spalte 2 Zeile 3';
Auslesen:
ListBox1.Items.add(StringGrid1.Cells[1,3]);

Ich bekomme das jedoch nicht annähernd bei der ListView hin.
Hier wird nicht mit [Spalte,Zeile] gearbeitet.

Mit: ListView1.Columns[2].Caption:='Geändert';
ändere ich Überschrift der Spalte 3.

Mit: ListView1.Items.Add.Caption:= 'Hallo Spalte1';
füge ich in Spalte 1 eine Zeile hinzu.

Ich raff einfach nicht wie ich etwas z.b. in Spalte 2 hinzufügen kann. Am besten noch geziehlt in Zeile 3 z.b.
Und wie kann ich es auslesen, wie bei der StringGrid?

Ich finde kein Tutorial oder sonst irgendwelche Beispiele.
Eventuell brauch ich nur einen Denkanstoss, finde die ListView sehr schick, es wurmt mich wenn ich nicht weiter komme
und zwanghaft die StringGrid nehmen muss.(StringGrid ist auch was feines, versteht mich nicht falsch).


Ich hoffe das mir hier irgendjemand helfen kann. Wäre unendlich dankbar!
(Mein Testprogramm zum üben habe ich angehängt!)

Vielen Dank für Eure Mühe.
Miniaturansicht angehängter Grafiken
bild.png  
Angehängte Dateien
Dateityp: rar Test Listview.rar (185,0 KB, 2x aufgerufen)
Uli

Geändert von jumper63 (27. Mär 2022 um 16:03 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 27. Mär 2022, 16:14
Zunächst muss man mittels der ViewStyle-Property die Ansicht umstellen auf vsRecord.

Spalten fügt man mittels der Columns-Property hinzu.

Dann kann man Zeilen mit der Items-Property hinzufügen. Der Text für die erste Spalte steht in deren Captions-Property und der Text für die weiteren Spalten in deren SubItems-Property:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  lc: TListColumn;
  li: TListItem;
begin
  lc := ListView1.Columns.Add;
  lc.Caption := 'Caption1';
  lc := ListView1.Columns.Add;
  lc.Caption := 'Caption2';
  lc := ListView1.Columns.Add;
  lc.Caption := 'Caption3';
  lc := ListView1.Columns.Add;
  lc.Caption := 'Caption4';

  li := ListView1.Items.Add;
  li.Caption := 'Item1';
  li.SubItems.Add('SubItem1.1');
  li.SubItems.Add('SubItem1.2');
  li.SubItems.Add('SubItem1.3');

  li := ListView1.Items.Add;
  li.Caption := 'Item2';
  li.SubItems.Add('SubItem2.1');
  li.SubItems.Add('SubItem2.2');
  li.SubItems.Add('SubItem2.3');
end;
Zugriff geht analog:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  li: TListItem;
  ErsteSpalte: string;
  ZweiteSpalte: string;
  DritteSpalte: string;
  VierteSpalte: string;
begin
  li := ListView1.Items[0];
  ErsteSpalte := li.Caption;
  ZweiteSpalte := li.SubItems[0];
  DritteSpalte := li.SubItems[0];
  VierteSpalte := li.SubItems[0];
end;
Es gibt leider keinen einfachen Zugriff wie beim StringGrid, deshalb bevorzuge ich in der Regel ein StringGrid oder ein DrawGrid (letzteres ist aber wieder komplexer), allerdings gibt es Leute, die finden, das sieht "veraltet" aus.

Man kann sich natürlich den Zugriff analog zum StringGrid selbst programmieren:

Delphi-Quellcode:
function TListView_GetCell(_lv: TListView; _Row, _Col: integer): string;
begin
  li := _lv.Items[_Row];
  if _Col = 0 then
    Result := li.Caption
  else
    Result := li.SubItems[_Col-1];
end;
Schreibzugriff dann analog dazu.
Thomas Mueller

Geändert von dummzeuch (27. Mär 2022 um 16:21 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#3

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 27. Mär 2022, 17:30
Zunächst muss man mittels der ViewStyle-Property die Ansicht umstellen auf vsRecord.
Du meinst wohl vsReport.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
jumper63

Registriert seit: 25. Aug 2019
Ort: Berlin
8 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 30. Mär 2022, 15:17
Hallo dummzeuch,
ich wollte mich kurz bedanken, Dein Beitrag hat mir zwar sehr geholfen die ListView zu verstehen,
allerdings bin ich recht schnell wieder zurück zur StringGrid. Du hast schon recht, der Zugriff ist hier viel einfacher.


Vielen Dank!
Uli
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.468 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 30. Mär 2022, 15:42
Zunächst muss man mittels der ViewStyle-Property die Ansicht umstellen auf vsRecord.
Du meinst wohl vsReport.
Argl! Ja, natürlich.
Thomas Mueller
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 30. Mär 2022, 21:32
ich(30 Jahre, John=)
Entschuldigung, kurzes OT: Dein Profil sagt "1982 erstes programmieren in Basic auf 8-Bit Computer, 1990 Turbo Pascal, später Delphi 1.."

1982 ist 40 Jahre her, was ich genau weiß, weil ich in diesem Jahr geboren wurde. Du hast also 10 Jahre vor deiner Geburt mal direkt ein paar BASIC Programme geschrieben? Alle Achtung!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 31. Mär 2022, 09:10
Ich tippe da mal auf familien-internes Account-Sharing. Der "echte Name" im Profil ist ja auch anders als in der Vorstellung im ersten Posting. Gibt es dazu eigentlich was in den Foren-Richtlinien?


Ansonsten: Ist hier vielleicht mit Kanonen auf Fliegen geschossen, aber sobald ich mehr als nur einen kurzen String pro Item in einer Liste anzeigen möchte, nutze ich fast immer den VirtualStringTree. Das ist eine OpenSource-Zusatzkomponente, also nicht direkt bei Delphi dabei. Die erfordert einiges an Einarbeitung, aber wenn man diese Hürde überwunden hat, fluppt es damit. Vielleicht ist das einen Blick wert.
The angels have the phone box.
  Mit Zitat antworten Zitat
jodaka

Registriert seit: 27. Mär 2022
1 Beiträge
 
#8

AW: ListView, ich verstehe sie einfach nicht, suche Hilfe

  Alt 1. Apr 2022, 13:38
Hallo,
ich bin der Sohn vom Jumper 63.
Es tut mir leid das dieses "familien-internes Account-Sharing" stattgefunden hat, geht auf meine Kappe uund kommt nicht mehr vor.
Mein erster Beitrag musste freigeschaltet werden und ich habe diesen Hinweiis ungelesen weg geklickt und mich dann gewundern wo mein Thread ist.
Habe dann erst von meinen Papa erfahren das er auch hier angemeldet ist und ich habe über seinen Namen geschrieben. Kurze Zeit später waren aufeinmal
doppelt Threads da, von mir(jodaka) und Jumper63.

Tut mir leid. Hoffe jetzt ist es geklärt.

LG
  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 23:23 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