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
Benutzerbild von dummzeuch
dummzeuch

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

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.114 Beiträge
 
Delphi 2009 Professional
 
#2

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
 
#3

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.678 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

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
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 20:20 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