Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   ListItem ein- und ausblenden (https://www.delphipraxis.net/178945-listitem-ein-und-ausblenden.html)

jaenicke 5. Feb 2014 13:37

AW: ListItem ein- und ausblenden
 
Zitat:

Zitat von DeddyH (Beitrag 1246784)
Dann benutzt man die Listview eben virtuell.

Sprich man arbeitet langsamer als mit der VirtualTree, komplizierter als mit der VirtualTree, aber von der Funktionsweise her ähnlich wie mit der VirtualTree.

Gut, man benutzt dafür nur die Standardkomponente, aber ist das so wichtig?

DeddyH 5. Feb 2014 13:38

AW: ListItem ein- und ausblenden
 
Hast Du eigentlich ein generelles Problem mit anderer Leute Meinung? Ich will ja nichts gegen den VST sagen, das ist eine super Komponente, aber man muss sich auch da erst einmal einarbeiten und hat recht viel Code zu tippen.

jaenicke 5. Feb 2014 13:50

AW: ListItem ein- und ausblenden
 
Zitat:

Zitat von DeddyH (Beitrag 1246796)
Hast Du eigentlich ein generelles Problem mit anderer Leute Meinung?

Nein, aber eine Begründung für den Vorschlag sehe ich auch nirgends, insofern habe ich auch keine Möglichkeit dazu irgendetwas mir zu denken. Ich sehe nur keinen Sinn darin.

Zitat:

Zitat von DeddyH (Beitrag 1246796)
Ich will ja nichts gegen den VST sagen, das ist eine super Komponente, aber man muss sich auch da erst einmal einarbeiten und hat recht viel Code zu tippen.

Einarbeiten etwas ja, aber das gilt für den virtuellen Modus der Listview genauso. Und viel mehr Code ist es definitiv nicht...

Hinzufügen eines Eintrags ist eine Zeile Code. Genau wie bei einer virtuellen ListView.
NodeDataSize muss man setzen. Eine Zeile mehr, geht aber auch im Objektinspektor.
OnGetText muss man implementieren. Das gilt für die TListView mit OnData aber auch.

Insgesamt ähnelt sich die Menge an Code sehr.

Bei der VirtualTree muss ich nun aber nur durchgehen und kann einfach mit IsVisible umschalten welche Knoten sichtbar sind. Das ist sehr viel weniger Aufwand als alles neu zu befüllen oder ähnliches und ist obendrein auch viel schneller.

Furtbichler 5. Feb 2014 14:27

AW: ListItem ein- und ausblenden
 
Zitat:

Zitat von jaenicke (Beitrag 1246800)
Nein, aber eine Begründung für den Vorschlag sehe ich auch nirgends

Erstens muss man keinen Alternativvorschlag begründen, um ihn als mindestens gleichwertig zu erachten und zweitens ist es einfach mal so, das eine TListView zu verwenden heißt:
- Mit Bordmitteln zu arbeiten, also keine extra Komponente,
- kein extra Einarbeiten,
- kein potentielles Einstellen des Supports (was macht Mike Lischke eigentlich heute?)
- keine potentiellen versteckten Fehler, die so mancher Freewarekomponente zueigen ist

sondern einfach: die paar Zeilen hinschmeißen und fertig.
Zitat:

insofern habe ich auch keine Möglichkeit dazu irgendetwas mir zu denken. Ich sehe nur keinen Sinn darin.
Na, dann benutz deinen Kopf mal zum 'denken'. Das geht bei Dir doch sehr gut. Denn dann siehst Du auch irgendwann einen Sinn an den Vorschlägen anderer.
Zitat:

Insgesamt ähnelt sich die Menge an Code sehr.
Irgendwoher muss Lischke das ja haben.

Also nochmal: Wenn jemand einen anderen Vorschlag macht, ohne ihn zu begründen, dann ist der erst einmal gleichwertig. Wenn *Du* Dir dabei nichts denken kannst, dann ist das *dein* Defizit, was bedauerlich, aber eben temporär.

Edit: Das Durchlaufen durch eine VST, um die Knoten sichtbar/unsichtbar zu machen, ist nicht gerade im Sinne des Viewmodel-Gedankens, das nur mal am Rande. Das ist es doch viel einfacher, im Viewmodel eine Liste der sichtbaren Items zu erstellen, das im virtuellen Modus an die TListView zu flanschen und fertig (geht vermutlich auch mit VST).

Wenn man allerdings Zeit hat, mit dem Layout rumzuspielen, ist eine VST generell vorzuziehen.

e-gon 7. Feb 2014 08:46

AW: ListItem ein- und ausblenden
 
Hallo!

Ich habe das ganze nun mit einem virtuellen ListView realisiert. VirtualTree wäre bestimmt auch gut geeignet gewesen und ich hätte auch nicht davor zurückgeschreckt eine weitere Komponente einzubinden, das Ko-Kriterium war allerdings dass VirtualTree auch noch ThemeManager benötigt hätte...

Gruß und danke an alle!
e-gon

jaenicke 7. Feb 2014 10:22

AW: ListItem ein- und ausblenden
 
Zitat:

Zitat von e-gon (Beitrag 1247050)
das Ko-Kriterium war allerdings dass VirtualTree auch noch ThemeManager benötigt hätte...

Eigentlich braucht die zwar nicht mehr oder weniger als andere Komponenten, aber wenn die Geschwindigkeit so wie du es hast ausreicht, dann ist ja alles erledigt.

Ein Tutorial zur VirtualStringTree steht aber bei mir auf der ToDo. ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:06 Uhr.
Seite 2 von 2     12   

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