Medien filtern

FanClub

Mitglied
Hallo,

ich würde gerne einen Filter einbauen, der dem von idealo.de ähnlich ist.

Beispiel:
Ich habe eine Tabelle "Medium" hier werden verschiedene Hefte, Bücher, CDs etc aufgenommen.
Für die Art des Mediums verwende ich eine Tabelle "MediumArt" und eine Tabelle "MediumArtKreuz" (Ein Medium kann in verschieden varianten bereit liegen).

Nun habe ich eine Liste von DTOs die wie folgt aussehen:
String - MediumTitel
String - MediumInhalt
ArrayList - MediumArt (KeyValueObjekt mit den den Variationen der Arten)
String - MediumVerfasser
...

Die Tabelle MediumArt besteht aus beispielsweiße "Buch", "CD", "DVD", "Heft", "Prospekt"

Nun habe ich eine Liste meiner Medien. Über dieser Liste stehen die verschiedenen MedienArten.
Hinter "Buch" soll z.B. stehen "Buch(24)" etc. Wenn ich dann auf Buch klicke, soll die Liste auf "nur Bücher" reduziert werden.

Wie kann ich dies elegant lösen?
Es bleibt schlußendlich nicht bei diesem einem Filter, also wäre hier eine allgemeingültige/wiederverwendbare Lösung gedacht.

gruß
 
Zuletzt bearbeitet von einem Moderator:
wo willst du etwas einbauen, was ist 'die Liste'?
eine Swing-GUI? irgendwas in J2EE, gar JavaScript-Frage?

wo immer du klickst, musst du grundsätzlich auf irgendeine Art reagieren, Listener, Index bestimmen,
danach fachlich die Information bestimmen, und für 'die Liste' irgendwas veranlassen, z.B. im Model neue Daten setzen

so ungefähr läuft es immer und überall ab, für ausgereifte wiederverwendbare Lösungen ist das alles noch etwas ungenau
 
Psdeudocode:

Code:
Wenn [Buch] gedrückt wurde:
Für alle Elemente e aus der GesamtListe{
Wenn e hat Typ Buch{
Füge e PräsentationsListe hinzu
}
}
zeige Präsentationsliste.
 
Genau so hätte ich mir das auch vorgestellt.
Wie er das dann darstellt (GUI, Console, LED-Ventilator mit Laufschrift, ...) ist ja erstmal unerheblich.
Im Hintergrund könnte das doch in jedem Fall so laufen.
Wenn man jetzt auf das Aufbauen einen neuen, "temporären" Liste (eben diese "Präsentationsliste") unbedingt verzichten will, müsste man halt direkt z.B. das GUI-Element mit dem Ergebnis vollmachen.
Aber da ist die Frage, ob sich der Zwischenschritt nicht vielleicht sogar lohnen würde...
 
Hallo,

es handelt sich um eine Webanwendung basierend auf Struts/JSP.
Ich habe es folgendermaßen gelöst:
1. Ich besitze eine Liste mit allen Treffen die in meiner Medium-Tabelle vorhanden sind.
2. Diese Liste durchlaufe ich (Iterator itr = liste.iterator() - while(itr.hasNext()))
3. Jetzt gibt es 5 große Bereiche die Filterkriterien beinhalten sollen (Medienart-> Buch, Cd..| Verfasser->FanClub, Goehte...)
4. Bei jedem durchlauf der Schleife kontrolliere ich, ob eines dieser großen Bereiche einen neuen unterbereich bekommen hat (Medienart->DVD) wenn dies der Fall ist, wird dieser Unterbereich in das Array des Bereiches eingefügt
5. Wenn der Unterbereich bereits in dem Array des Bereiches vorhanden ist, wird dessen "Treffer"-Anzahl um einen Wert erhöht.

So weiß ich schließlich dynamisch, welche Unterbereiche ein Bereich besitzt und wieviel Themen/Medien es dazu gibt. Anschließend wird nach den gestzten Filtern eine Sondierung vorgenommen.
Hier wird es dann vom logischen Ablauf und der Darstellung etwas komplizierter, worüber ich mir noch gedanken machen muss.

gruß
 

Neue Themen


Zurück
Oben