2009-03-05 14 views
1

Ich habe mehrere Nachschlagetabellen, von denen einige sich auf andere beziehen oder Beziehungen zwischen ihnen sind.Verschiedene gefilterte Datenprovider für die gleichen Daten?

Zum Beispiel habe ich membership type included inventory, die Mitgliedschafts-ID und Inventar-Typ-ID hat und ist die Menge der einzelnen Inventar-Typen, die man bekommt, wenn man eine bestimmte Art von Mitgliedschaft bekommt.

Wenn der Benutzer einen Inventartyp überprüft, möchte ich, dass die Beträge für jeden Mitgliedstyp angezeigt werden. Wenn der Nutzer einen Mitgliedschaftstyp überprüft, möchte ich, dass er sieht, welches Inventar diese Mitgliedschaft erhalten würde.

Kann ich nur eine ArrayCollection für InvetoryType-Instanzen und nur eine ArrayCollection für MembershipType-Instanzen verwenden und irgendwie Filter erstellen, um unterschiedliche "Ansichten" der Daten zu erhalten?

Jede "Ansicht" würde einen eigenen Cursor benötigen, Sortierreihenfolge, Filter usw.

Prost

Antwort

1

Sie eine einzelne Array Instanz mit mehreren ArrayCollection Instanzen verwenden können. Wenn Sie nur Daten anzeigen oder sortieren und filtern, indem Sie die von ArrayCollection bereitgestellten Methoden/Eigenschaften verwenden (anstatt die Array direkt zu bearbeiten), sollte dies keine Auswirkungen auf die zugrunde liegende freigegebene Array haben.

+0

Das habe ich mir erhofft. Wenn ich Änderungen am Array mache, werden alle ArrayCollections automatisch aktualisiert? Wenn ja, wie kann ich Änderungen stapelweise durchführen, um das Thrashing zu reduzieren? –

+0

Wenn Sie das Array direkt ändern, wird ArrayCollections nicht automatisch über die Änderung informiert, da das Array kein Ereignis auslöst, auf das die Sammlungen zugreifen können. Ich glaube, Sie können refresh() für eine ArrayCollection manuell aufrufen, um sie über Änderungen zu informieren (sollte sich nur auf eine einzelne Sammlung auswirken). – joshtynjala

Verwandte Themen