Zurück   Flashforum > Flex und AIR > Flex allgemein

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 29-09-2010, 20:15   #1 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
Databindung mit ArrayCollection

Irgendwie habe ich seit Flex 4 ein merkwürdiges Problem.

Ich habe eine ArrayCollection und diese dient als DataProvider für eine Liste... wenn ich nun dem Source Array der Collection ein weiteres Objekt hinzufüge wird das in der Liste, trotz DataBinding nicht dargestellt. Woran kann das liegen?
kev52 ist offline   Mit Zitat antworten
Alt 29-09-2010, 20:50   #2 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Das ist normal, kein Problem.
Omega Psi ist offline   Mit Zitat antworten
Alt 29-09-2010, 21:32   #3 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Btw.: du solltest mit dem IList interface arbeiten, nicht dem source Array.
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 08:17   #4 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
ja ich hab die ArrayCollection glaube falsch verstanden gehabt ich dachte es wäre möglich ein source Array durch verschiedene Collections unterschiedlich zu filtern - aber wenn ich das richtig sehe, muss ich echt 2 Collections mit identischen Daten anlegen oder?
kev52 ist offline   Mit Zitat antworten
Alt 30-09-2010, 08:59   #5 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Das geht.
Code:
<?xml version="1.0"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="applicationCompleteHandler(event)">
    <fx:Script>
        <![CDATA[

        import mx.collections.ArrayCollection;
        import mx.events.FlexEvent;

        private function createCollection(source:Array, filterFunction:Function):ArrayCollection
        {
            const collection:ArrayCollection = new ArrayCollection();
            collection.filterFunction = filterFunction;
            collection.source = source;

            return collection;
        }

        private function lowerThenOrEqualsFifty(number:int):Boolean
        {
            return number <= 50;
        }

        private function greaterThenFifty(number:int):Boolean
        {
            return number > 50;
        }

        private function applicationCompleteHandler(event:FlexEvent):void
        {
            const source:Array = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100];

            lowerThenList.dataProvider = createCollection(source, lowerThenOrEqualsFifty);
            greaterThenList.dataProvider = createCollection(source, greaterThenFifty);
        }

        ]]>
    </fx:Script>

    <s:layout>
        <s:HorizontalLayout />
    </s:layout>

    <s:Panel title="&lt; 50">
        <s:List id="lowerThenList" />
    </s:Panel>

    <s:Panel title="&gt; 50">
        <s:List id="greaterThenList" />
    </s:Panel>

</s:Application>

Geändert von Omega Psi (30-09-2010 um 09:02 Uhr)
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:03   #6 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
würde das auch funktionieren, wenn sich die Daten im Laufe der Anwendung dynamisch ändern?
kev52 ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:07   #7 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Dann muss du es den ArrayCollections auch mitteilen, also addItem, addItemAt etc verwenden.
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:09   #8 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
womit ich dann ja wieder 2 ArrayCollections benötige, da ich sonst ja keinen Zugriff hätte, da ja keine Referenzierung, abgesehen von der Liste, auf die ich keine Zugriff habe, wenn ein neues Item kommt.
kev52 ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:12   #9 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Ich glaube, du hast eher ein strukturelles Problem.
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:21   #10 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
Also lade via AMFPHP eine Liste verschiedener Nutzer. Einige Nutzer sind mit dem aktiven Benutzer befreundet.

Die Daten ändern sich natürlich zur Laufzeit.

Das beste aus meiner Sicht wäre eine Datenliste, die dann individuell je nach Darstellung gefiltert ob man alle Nutzer oder eben nur die Freunde sehen wird. Es gibt auch Views wo beide Listen gleichzeitig nötig sind.

Das Problem ist, dass ich eigentlich nicht 2 Collections haben will, die letztlich doppelte Daten beinhalten.
kev52 ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:22   #11 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Was willst du dann? Und: wieso nicht?
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:32   #12 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
Ich dachte es wäre nicht optimal, identische Daten doppelt vorzuhalten.
kev52 ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:48   #13 (permalink)
Perverted Hermit
 
Benutzerbild von Omega Psi
 
Registriert seit: Mar 2004
Ort: Delmenhorst
Beiträge: 12.142
Du hast sie doch nur einmal im Array. Ausserdem arbeitest du mit Objekten... die liegen nur einmal im Speicher vor.
Omega Psi ist offline   Mit Zitat antworten
Alt 30-09-2010, 09:51   #14 (permalink)
Neuer User
 
Registriert seit: Oct 2007
Ort: Potsdam
Beiträge: 156
lol stimmt eigentlich - oh man manchmal liegt da echt so ein Schlauch im Weg... du hast mir gerade echt richtig geholfen ;o) DANKE!!!
kev52 ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Combobox und ArrayCollection qasw Flex programmieren 6 04-03-2010 17:22
dynamische ArrayCollection verflext Flex programmieren 7 11-06-2009 21:24
arraycollection n82 Flex programmieren 8 04-03-2009 16:30
XML zu ArrayCollection zidaninho Flex programmieren 1 01-03-2009 17:13
ArrayCollection loopen? (Key = > Value) mukraker ActionScript 3 1 19-02-2007 18:08


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:41 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele