![]() |
Ersatzteilliste - Selektierung über TreeView
Hallo zusammen,
ich möchte gerne eine Ersatzteilliste erstellen. Die Ersatzteile werden in einem Listview angezeigt. Über den Treeview werden die Teile dann gefiltert. Ist nichts angeklickt, sollen alle Teile in der Liste erscheinen. Je weiter man sich in die Zweige rein klickt, um so spezifischer sollen die Teile in der Liste werden Beispiel: -> Zweig "Elektrik" alle Elektrik Teile -> Unterzweig "Kabel" nur noch alle KabelBis jetzt hab ich es hinbekommen, das die richtigen Teile im letzten Zweig angezeigt werden - vorher ist die Liste leer.-> Unterzweig "rot" nur noch alle roten Kabel Dem letzten Zweig hab ich einen eindeutigen Pointer zugewiesen, der auch der Teilegruppe in der Liste zugewiesen ist - so mache ich derzeit die Selektion zur Anzeige im Listview. Könnt ihr mich mal auf den Richtigen weg schubse, wie ich das auch in den darüber liegenden Zweigen rausfiltern kann? Steh im Moment etwas auf dem Schlauch Danke schonmal. Gruß Torsten |
AW: Ersatzteilliste - Selektierung über TreeView
Moin Torsten,
wie sind die Daten denn gespeichert? In einer Datenbank? |
AW: Ersatzteilliste - Selektierung über TreeView
Hallo Christian,
sie sollen in einem TRecord gespeichert werden. |
AW: Ersatzteilliste - Selektierung über TreeView
Und der Record wird dann verworfen? Wie ist die Pesistenz? Aber zunächst mal kannst Du ein Parent in jedem Record mitführen. Und dann suchst Du zu jeder Ebene rekursiv alle Unterebenen.
|
AW: Ersatzteilliste - Selektierung über TreeView
Du hast nicht geschrieben, was für Ersatzteile, aber ich könnte mir vorstellen, dass die Liste ziemlich lang sein kann. Darstellung von vollständigen, langen Listen ist ressourcenintensiv und relativ nutzlos.
Um Dich etwas zu schubsen: Vergiss den Treeview als statisches Filterwerkzeug. Die Kategorien und Unterkategorien, die einen konkreten Treeview ergeben, sehen morgen vielleicht ganz anders aus. Es gibt sicher dutzende Produktmerkmale, aus denen man viele verschiedene Filterbäume aufbauen kann. Bau dir ein System, dass Teile nach Kategorie (Unterkategorie) filtern kann. Bau Dir eine Kategorie Visualisierung, die möglichst flexibel ist. Ein Klick auf Deine Kategorievisualisierung wird dann immer die gewünschten IDs zur Filterung deiner Teileliste liefern. Das nutzt Du dann als Filter für die Teileliste. |
AW: Ersatzteilliste - Selektierung über TreeView
Zitat:
Man kann einen Treeview benutzen um in eine Teilehierarchie einzutauchen aber der Zweig "rot" gibt keinen Sinn. Wie tief man den Suchbaum sinnvollerweise machen kann siehst du z.B. auf Elektronikseiten. Beispiel:
Code:
Bauteile -> Optoelektronik -> Lasertechnik -> Lasermodule
|
AW: Ersatzteilliste - Selektierung über TreeView
Zitat:
Bei der Wahl des Selektionsparadigmas sollte man sich die Frage stellen: "Wie wird gesucht?" Kennt man die Bezeichnung, dann reicht ein Eingabefeld, eine unscharfe Textsuche, fertig. Geht man jedoch wirklich hierarchisch vor, benötigt also zunächst alle Kabel, dann ist so ein Treeview mit Multiselekt in der Artikelebene und Drag&Drop auf die ausgewählten Artikel schon sinnvoll. Es spricht auch nichts dagegen, mehrere Paradigmen umzusetzen. Eine Treeview zu filtern passt allerdings nicht zum lazy-load, weil man entweder durch das Filtern der Daten das lazy load aushebelt (weil alles angezeigt wird) oder unvollständig filtert (wegen lazy load). Wenn Du das mit einer TV umsetzen willst, würde ich zunächst die Daten filtern, hierarchisch sortieren und aus der gefilterten Liste das TV komplett aufbauen. Wenn Du -wie schon erwähnt- zu viele Artikel hast, wird das aber grottenlangsam, weswegen dann hier ein VTV vorzuziehen ist. Das VTV gibt es ![]() |
AW: Ersatzteilliste - Selektierung über TreeView
Hallo zusammen,
erstmal danke für Eure Antworten. Zitat:
Viele Kleinteile (vor allem für aufwändige Um- oder Nachrüstungen) sind nicht in dem System da von Zulieferern oder nur umständlich zu ermitteln und stehen derzeit in einer Papierliste - die Teilnummer müssen händisch in das System eingetippt werden. So könnte man die "Einkaufsliste" durch klicken zusammenstellen und an das System übertragen. Die Liste hat derzeit ca. 1.500 Teile. Hier steht die Teilnummer, die Benennung und noch 2 weitere Definitionen (Wert / Farbe / etc). Alles mit jeweils 25 Zeichen (also 100 Zeichen Je Teil) Bilder, Beschreibungen und Ähnliches kommt nicht mehr dazu. Zitat:
Das ganze (Der Suchbaum) sollte Sinniger weise vom User bzw Admin einstellbar sein und nicht Statisch von der Software vorgegben. Das macht die Sache nicht gerade einfacher... Der TV ist auch nur Suchbaum zur Selektierung. Die eigentlichen Teile werden in einem Listview aufgelistet. Zitat:
Den VTV muss ich mir dann doch nochmal genauer anschauen. |
AW: Ersatzteilliste - Selektierung über TreeView
Zitat:
Du hast mehrere Kabelstärken (0.5, 1, 2, 4, 10mm^2) sowie mehrere Farben (rot, grün, blau, schwarz). Was ist jetzt wichtiger: die Kabelstärke oder die Farbe? Tja, es kommt drauf an. Für den einen ist die Kabelstärke wichtiger; für den anderen die Farbe. Würde man den Baum weiterführen, gäbe es 5 Knoten für die Kabelstärke und darunter jeweils 4 Knoten für die Farbe (5 * 4 = 20 Unterknoten). Man könnte auch mit der Farbe beginnen (4 Knoten) und darunter die Kabelstärke (5 Knoten) und käme wiederum auf 20 Unterknoten. Wenn man beides haben will; also sowohl über Farbe als auch Kabelstärke sich den Baum hinunterbewegen möchte braucht man 40 Unterknoten. Problem: alle Kabel sind dann auf 2 Wegen auffindbar und damit auch doppelt im Baum enthalten. Würde man ein weiteres Attribut hinzufügen (z.B. Hersteller) dann multipliziert sich das Ganze mit der Anzahl der Hersteller. Daher muss der Baum dort enden, wo Attribute (Farbe, Kabelstärke, Hersteller, Länge, ...) ins Spiel kommen. |
AW: Ersatzteilliste - Selektierung über TreeView
Vielleicht wäre eher ein filter- und gruppierbares Grid interessant, in dem man die Dtenmenge immer weiter einschränken kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:14 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 by Thomas Breitkreuz