AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

1*1 mit ListView darstellen?

Ein Thema von AlexII · begonnen am 12. Okt 2012 · letzter Beitrag vom 13. Okt 2012
Antwort Antwort
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

1*1 mit ListView darstellen?

  Alt 12. Okt 2012, 23:41
Delphi-Version: 7
Hallo Delphianer,

ich möchte das 1*1 mittels ListView darstellen. Die Logik an sich und die Schleifen sind kein Problem, nur weiß ich nicht wie ich die einzelnen Zellen in der ListView ansprechen bzw. füllen soll.

Und irgendwie finde ich keine gute Beschreibung dazu.

Kann mir da jemand weiter helfen?

Danke!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: 1*1 mit ListView darstellen?

  Alt 13. Okt 2012, 00:24
Gehe ich richtig davon aus, dass du noch keine Erfahrung mit ListView hast?

Zuerst ViewStyle auf vsReport stellen, dann Columns bilden. Geht im Objektinspektor, aber auch zu Laufzeit.

Delphi-Quellcode:
var
  NewColumn: TListColumn;
begin
  with ListView do
  begin
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Haupt';
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Sub';
Beachte, dass das du hier etwas verdreht arbeitest, als mit NewColumn := Columns.Add fügst du ein neues Column dazu, mit NewColumn.Caption := 'Haupt' gibst du der Spalte eine Bezeichnung. Diese Art ist einfache. Columns.Add erstellt eine Spalte und die Adresse gibst du an NewColumn weiter. Schon kannst du mithilfe der NewColumn Variable arbeiten. Ist einfacher. Aber das geht auch so

Delphi-Quellcode:
begin
  with ListView do
  begin
    Columns.Add;
    Columns[0].Caption := 'Haupt';
    Columns.Add;
    Columns[1].Caption := 'Sub';
Beides geht, je nachdem was mal lieber hat. Das sind die Spaltenbezeichnungen. Ohne die sieht man die Spalte nicht.

Fast genauso funktioniert es mit den Items

Delphi-Quellcode:
var
  ListItem: TListItem;
begin
  with ListView do
  begin
    ListItem := Items.Add;
    ListItem.Caption := 'Hauptspalte';
    ListItem.SubItems.Add('Subspalte1');
    ListItem.SubItems.Add('Subspalte2');
    ListItem.SubItems.Add('Subspalte3');
  end;
end;
Auch hier kann man direkt zugreifen:

Delphi-Quellcode:
    Items.Add;
    Items[0].Caption := 'Hauptspalte';
    Items[0].SubItems.Add('Subspalte1');
    Items[0].SubItems.Add('Subspalte2');
    Items[0].SubItems.Add('Subspalte3');
Auf Caption einfach direkt zugreifen, auf Subitems später so:

Delphi-Quellcode:
    Items[0].SubItems[0] := 'Subspalte1A';
    Items[0].SubItems[1] := 'Subspalte2B';
    Items[0].SubItems[2] := 'Subspalte3C';
Fast wie StringGrid, aber nur fast. Und wie überall, man kann auf nichts zugreifen was noch nicht da ist. Also zuerst erstellen und erst dann zugreifen. Vielleicht ist es deshalb besser so zu arbeiten als direkt zuzugreifen.

Delphi-Quellcode:
  with ListView do
  begin
    ListItem := Items.Add;
    ListItem.Caption := 'Hauptspalte';
    ListItem.SubItems.Add('Subspalte1');
Für den nächsten Item wieder Item.Add eingeben.

Geändert von Popov (13. Okt 2012 um 00:36 Uhr)
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#3

AW: 1*1 mit ListView darstellen?

  Alt 13. Okt 2012, 13:12
Danke dir!
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  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 09:38 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