AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TListBox oder TListView

Ein Thema von rdeutsch · begonnen am 19. Dez 2013 · letzter Beitrag vom 19. Dez 2013
Antwort Antwort
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#1

TListBox oder TListView

  Alt 19. Dez 2013, 08:50
Hallo

Da die Komponenten TListBox und TListView doch einige Ähnlichkeiten aufweisen, wollte ich hier mal nachfragen, wann und für welche Darstellungsart ihr die TListBox oder TListView einsetzt?
Welches sind groben die Vor- bzw. Nachteile der beiden Listen?

Danke für eure Tipps und Gruss
Robert
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: TListBox oder TListView

  Alt 19. Dez 2013, 09:03
Probier es doch aus. Leg beide auf ein Formular und spiel mit ihnen. Grob gesagt ist eine Listbox eine einfache Liste und der Listview eine Tabelle. Da sie für unterschiedliche Zwecke bestimmt sind, kann man sie nicht vergleichen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.402 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TListBox oder TListView

  Alt 19. Dez 2013, 09:05
Ich hab von iOS keine Ahnung, aber gibt es dort überhaupt so etwas wie TListview?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: TListBox oder TListView

  Alt 19. Dez 2013, 11:57
Hallo

Da die Komponenten TListBox und TListView doch einige Ähnlichkeiten aufweisen, wollte ich hier mal nachfragen, wann und für welche Darstellungsart ihr die TListBox oder TListView einsetzt?
Welches sind groben die Vor- bzw. Nachteile der beiden Listen?
Luckie hat es schon gesagt, ich will es etwas konkretisieren, weil das mit der Tabelle etwas missverständlich ist.

Also TListBox und TListView haben sehr wenig gemeinsam, im Grunde wie Äpfel und Birnen. Beides Obst. Somit haben auch TListBox und TListView ähnlichkeiten, intern arbeiten sie anders.

TListBox ist im Grunde eine String Liste, wie z. B. TStringList. Nur während TStringList die Daten für die Augen versteckt verwaltet, macht TListBox das öffentlich. Der Unterschied ist also in der Darstellung: sichtbar oder unsichtbar.

Das ist die Standardeinstellung. Mit paar Tricks kann man aber die TListBox so manipulieren, dass man auch Tabellen darstellen kann. Das muss man aber von Hand machen. Es ist nicht wirklich kompliziert, aber man muss sich die Technik aneignen. Somit kann man sagen, TListBox kann gut Listen darstellen, Tabellen nur getrickst. Fügt man ein String hinzu, wird er automatisch angenommen.

Kommen wir zu TListView. Was Luckie gesagt hat von wegen Tabellen, ist evtl. etwas missverständlich. Mit TStringGrid kann man Tabellen gut darstellen. TListView ist etwas mehr. Als erstes kann man sagen, dass das Hinzufügen von neuen Daten nicht so einfach ist. Nicht kompliziert, aber etwas komplexer. Zuerst muss ein TListItem angefügt werden. Der hat einen Caption, also sozusagen die Hauptzelle, und dann jede Menge SubItems, die im Grunde eine TStringList sind. Ich kann somit eine Hauptinfo reinstellen und unendlich viele Nebeninfos (siehe Explorer-Fenster mit Dateinamen und weiteren Infos).

Auch ist die Verwaltung nicht mehr so einfach wie bei TListBox, etwas aufwendiger. Während man bei einer TListBox eine Liste hat und das markierte Item das x-te von Anfang ist, spielt die Reihenfolge bei TListView eher eine untergeordnete Rolle. Jedes Item ist für sich in einer zufälligen Reihenfolge.

Und zuguter letzt, TListView kann Icons pro Item darstellen. Ganz einfach. TListBox kann das nicht, nur mit Tricks.

Abschließend kann man sagen, hast du eine eine einfache String Liste, stellst du sie mit TListBox dar. Hast du eine Tabelle, stellst du sie mit TStringGrid dar. Hast du eine Liste mit weiteren Informationen (siehe Explorer: Datei, Typ, Datum, Attribute, Icon, ...) stellst du sie mit TListView dar.
  Mit Zitat antworten Zitat
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#5

AW: TListBox oder TListView

  Alt 19. Dez 2013, 13:02
Hallo zusammen

Danke für eure Posts.
Das TListView in Verwendung mit iOS eine Tabellenstruktur darstellen kann, ist mir neu. Ist das wirklich so mit den SubItems wie Popov beschrieben hat?
Falls ja, hat jemand einen kurzen Codeschnipsel zur Hand?

Soweit ich das gesehen habe (Link...), kann die FM-TListview in iOS (Android wahrscheinlich gleich) folgendes darstellen:
  • Einen Titel oder Detailtext (z. B. mittels des bindbaren Members Item.Text von TListView)
  • Ein zugeordnetes Bild (z. B. mittels des bindbaren Members Item.Bitmap von TListView)
  • Ein Zusatzsymbol (z. B. mittels der Eigenschaft ItemEditAppearance im Objektinspektor)
  • Eine grafische oder Textschaltfläche (z. B. mittels des bindbaren Members Item.ButtonText von TListView)

Da ich aber mehrere Felder darstellen möchte, wären die obig genannten zuwenig.

Gruss
Robert
  Mit Zitat antworten Zitat
rdeutsch

Registriert seit: 24. Mär 2006
42 Beiträge
 
#6

AW: TListBox oder TListView

  Alt 19. Dez 2013, 13:59
Hallo

Habe mittlerweile Beispielcode unter ..\RAD Studio\12.0\Samples\FireMonkeyMobile\ListView gefunden.
Steckt aber einiges an Arbeit drin, der Listview-Komponente mehrere Spalten beizubringen.

Gruss
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.402 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TListBox oder TListView

  Alt 19. Dez 2013, 14:02
FireMonkey hab ich nicht, aber unter der VCL ist das ganz einfach.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

AW: TListBox oder TListView

  Alt 19. Dez 2013, 14:14
Hallo

Habe mittlerweile Beispielcode unter ..\RAD Studio\12.0\Samples\FireMonkeyMobile\ListView gefunden.
Steckt aber einiges an Arbeit drin, der Listview-Komponente mehrere Spalten beizubringen.

Gruss
Eine direkte ListView unter FMX gibt es so nicht von Emba, wie für die VCL. Unter FMX muss man hier einiges über die Styles regeln oder aber sich die Komponenten von TMS zulegen. Auch eine ListBox arbeitet unter FMX anders als unter der VCL.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf