Laden...

Listview: Zeilen ausblenden/verstecken

Erstellt von esskar vor 15 Jahren Letzter Beitrag vor 15 Jahren 3.628 Views
esskar Themenstarter:in
203 Beiträge seit 2006
vor 15 Jahren
Listview: Zeilen ausblenden/verstecken

Kennt jemand ne Möglichkeit oder schon ein fertiges Control, mit dem ich bestimmte Zeilen ausblenden kann ohne sie wirklich aus der Listview herauslöschen zu müssen?

5.742 Beiträge seit 2007
vor 15 Jahren

Hallo esskar,

über den Sinn davon lässt sich streiten - was hast du vor?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo winSharp93,

könnte eine Filter-Funktion sein, die er realisieren will.

Hallo esskar,

Das Standard-ListWiew kann das nicht. Bin mir nicht sicher, aber ich glaube beim DataGridView kann man filtern.

herbivore

5.742 Beiträge seit 2007
vor 15 Jahren

könnte eine Filter-Funktion sein, die er realisieren will.

Möglich - aber warum dann das Ausblenden ohne Löschen?
Was spricht gegen eine zweite Collection, die nur als View dient und die Daten liefert?

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo winSharp93,

Möglich - aber warum dann das Ausblenden ohne Löschen?

hm, weil das eine praktisches und sinnvolles Feature wäre? 🙂

Was spricht gegen eine zweite Collection, die nur als View dient und die Daten liefert?

Nichts und im Zweifeln kann man das immer so machen. Wäre eben nur aufwändiger. 🙂

herbivore

esskar Themenstarter:in
203 Beiträge seit 2006
vor 15 Jahren

ich will die listviewitem eben nicht selber zwischenspeichern (an den items hängen zusätlich infos (wie z.b. die berechnung der .Text property)) wodurch ich das Item und dessen subitems nicht wegwerfen will.

deswegen hätt ich eine property "a la" .Visible ganz schick gefunden.

49.485 Beiträge seit 2005
vor 15 Jahren

Hallo esskar,

an den items hängen zusätlich infos (wie z.b. die berechnung der .Text property))

du solltest darauf achten, dass du Oberfläche und Businesslogik klar voneinander trennst. ListViewItems sind ein GUI-Element und sollte keine Businesslogik enthalten.

wodurch ich das Item und dessen subitems nicht wegwerfen will.

Wegwerfen musst du die Items ja nicht, selbst wenn du sie aus ListView.Items entfernst. Du kannst später dieselben Items hinzufügen.

herbivore

esskar Themenstarter:in
203 Beiträge seit 2006
vor 15 Jahren

du solltest darauf achten, dass du Oberfläche und Businesslogik klar voneinander trennst. ListViewItems sind ein GUI-Element und sollte keine Businesslogik enthalten.

ich weiß schon.
hintergund: die view zeigt Gewinn+Verlust von versch. Aktienkäufen und -verkäufen an.
diese Käufe/Verkäufe laufen nach einander ein.
Einmal kauft man 100 Aktien von dem einen Wert A, dann 200 von B, dann verkauft man 500 von A und später kauft man wieder 400 von A. Der Server (ist ne Client/Server anwendung) weiß im Grunde nix von Gewinn/Verlust, NetSize (also wieviele Aktien ich von welchem Wert noch im Bestand hab) oder Durchschnittspreis.
Das alles berechnet der Client. Wenn SubItem i nun den Durchschnittskaufpreis anzeigt, merk ich mir an dessen Tag die Anzahl der gekauften Aktien und deren gesamten Kaufpreis um so immer wieder den Durchschnitt berechnen zu können.

Eigentlich hast du recht: man sollte die Berechnungsdaten seperat speichern und damit rechnen und die view dementsprechend abändern.