AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Ersatzteilliste - Selektierung über TreeView

Ein Thema von Metschu · begonnen am 20. Jul 2013 · letzter Beitrag vom 28. Jul 2013
Antwort Antwort
Seite 1 von 2  1 2   
Metschu

Registriert seit: 31. Dez 2006
134 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 15:53
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 Kabel
-> Unterzweig "rot" nur noch alle roten Kabel
Bis jetzt hab ich es hinbekommen, das die richtigen Teile im letzten Zweig angezeigt werden - vorher ist die Liste leer.

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
Torsten
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.262 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 16:16
Moin Torsten,

wie sind die Daten denn gespeichert?
In einer Datenbank?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Metschu

Registriert seit: 31. Dez 2006
134 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 17:19
Hallo Christian,

sie sollen in einem TRecord gespeichert werden.
Torsten
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.347 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 18:27
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
2.964 Beiträge
 
Delphi 2010 Enterprise
 
#5

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 21:20
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 20. Jul 2013, 23:46
Vergiss den Treeview als statisches Filterwerkzeug. Die Kategorien und Unterkategorien, die einen konkreten Treeview ergeben, sehen morgen vielleicht ganz anders aus
Das würde ich auch so sehen.
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
fork me on Github
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 21. Jul 2013, 08:24
Vergiss den Treeview als statisches Filterwerkzeug.
Das würde ich auch so sehen.
Ich nicht. Es ist ein statisches Filterwerkzeug, das -richtig verwendet- auf sehr einfache Art und Weise die Visualisierung einer hierarchische Strukturierung von Daten und deren Selektierung erlaubt. Man darf sie nur nicht sofort komplett füllen (sondern erst im OnExpand) und es ist nur dann performant, wenn im zu füllenden Teilbaum (nach dem Aufklappen) nicht hunderte von Unterknoten entstehen. Natürlich kann man auch das bekannte Virtual Treeview (VTV) nehmen, aber lazy load bietet sich eigentlich immer an.

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 hier.
  Mit Zitat antworten Zitat
Metschu

Registriert seit: 31. Dez 2006
134 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 21. Jul 2013, 17:37
Hallo zusammen,

erstmal danke für Eure Antworten.

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.
Das ganze ist für eine LKW-Werkstatt. Die Teile werden im Normalfall über ein Teileprogramm rausgesucht.

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.

Man kann einen Treeview benutzen um in eine Teilehierarchie einzutauchen aber der Zweig "rot" gibt keinen Sinn.
War auch nur ein Beispiel, man kann auch die Kabelstärke nehmen.
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.

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.
Auch eine Idee, das TV so rum zu erstellen.

Den VTV muss ich mir dann doch nochmal genauer anschauen.
Torsten
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#9

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 21. Jul 2013, 18:56
Man kann einen Treeview benutzen um in eine Teilehierarchie einzutauchen aber der Zweig "rot" gibt keinen Sinn.
War auch nur ein Beispiel, man kann auch die Kabelstärke nehmen.
Genau das ist doch der Punkt.
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.
fork me on Github
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.347 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Ersatzteilliste - Selektierung über TreeView

  Alt 21. Jul 2013, 19:31
Vielleicht wäre eher ein filter- und gruppierbares Grid interessant, in dem man die Dtenmenge immer weiter einschränken kann.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

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