Sie können ein
import mx.collections.ItemResponder; //... try { //... cursor.moveNext(); } catch(e:ItemPendingError) { e.addResponder(new ItemResponder(myResultFunction, myFaultFunction, {info:"..."})); }
Die festgelegte Ergebnismethode muss folgende Signatur haben:
public function myResultFunction(result:Object, token:Object = null):void;
Die festgelegte Fehlermethode muss folgende Signatur haben:
public function myFaultFunction(error:Object, token:Object = null):void;
Jede andere Signatur führt zu einem Laufzeitfehler.
public function (result:Object, token:Object = null):void;
public function (error:ErrorMessage, token:Object = null):void;
<mx:Sort>
tag has the following attributes:
<mx:Sort Properties compareFunction="Internal compare function" fields="null" unique="false | true" />
In case items have inconsistent data types or items have complex data types, the use of the default built-in compare functions is not recommended. Inconsistent sorting results may occur in such cases. To avoid such problem, provide a custom compare function and/or make the item types consistent.
Just like any other AdvancedStyleClient
-based classes,
the Sort
and SortField
classes do not have a
parent-child relationship in terms of event handling. Locale changes in a
Sort
instance are not dispatched to its SortField
instances automatically. The only exceptional case is the internal default
SortField
instance used when no explicit fields are provided.
In this case, the internal default SortField
instance follows
the locale style that the owner Sort
instance has.
var col:ICollectionView = new ArrayCollection(); // In the real world, the collection would have more than one item. col.addItem({first:"Anders", last:"Dickerson"}); // Create the Sort instance. var sort:Sort = new Sort(); // Set the sort field; sort on the last name first, first name second. // Both fields are case-insensitive. sort.fields = [new SortField("last",true), new SortField("first",true)]; // Assign the Sort object to the view. col.sort = sort; // Apply the sort to the collection. col.refresh();
Es gibt Situationen, in denen die Sammlung einfache Elemente enthält, wie
var col:ICollectionView = new ArrayCollection(); col.addItem("California"); col.addItem("Arizona"); var sort:Sort = new Sort(); // There is only one sort field, so use a null // first parameter. sort.fields = [new SortField(null, true)]; col.sort = sort; col.refresh();
Die Flex-Implementierungen der ICollectionView-Schnittstelle rufen alle Elemente von einer Remote-Position ab, bevor eine Sortierung durchgeführt wird. Wenn Sie bei einer sortierten Liste Paging verwenden, wenden Sie die Sortierung auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Standardmäßig stellt diese Sort-Klasse keine korrekte sprachspezifische Sortierung für Strings bereit. Weitere Informationen zu dieser Sortierungsart finden Sie unter den
Erstellt eine neue Sort-Instanz ohne eingerichtete Felder und benutzerdefinierten Komparator.
Hinweis: Eine
Die Vergleichsfunktion muss folgende Signatur haben:
function [name](a:Object, b:Object, fields:Array = null):int
Diese Funktion muss Folgendes zurückgeben value:
Um zur internen Vergleichsfunktion zurückzukehren, setzen Sie diesen Wert auf
Das
function myCompare(a:Object, b:Object, fields:Array = null):int { var result:int = 0; var i:int = 0; var propList:Array = fields ? fields : internalPropList; var len:int = propList.length; var propName:String; while (result == 0 && (i < len)) { propName = propList[i]; result = compareValues(a[propName], b[propName]); i++; } return result; } function compareValues(a:Object, b:Object):int { if (a == null && b == null) return 0; if (a == null) return 1; if (b == null) return -1; if (a < b) return -1; if (a > b) return 1; return 0; }
Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann. Geben Sie Ihre eigene Funktion nur an, wenn ein benutzerdefinierter Vergleichsalgorithmus erforderlich ist. Dies ist normalerweise nur der Fall, wenn ein berechnetes Feld in einer Anzeige verwendet wird.
Alternativ dazu können Sie für jedes Sortierfeld mithilfe der
Hinweis: Eine
Die Vergleichsfunktion muss folgende Signatur haben:
Die Funktion gibt folgende Werte zurück:
Der Standardwert ist
Diese Eigenschaft wird von der
Wenn diese Eigenschaft
Wenn diese Eigenschaft
Wenn diese Eigenschaft
<mx:ArrayList Properties source="null" />
<mx:SortField>
tag has the following attributes:
<mx:SortField Properties caseInsensitive="false" compareFunction="Internal compare function" descending="false" name="null" numeric="null" />]]>
Es gibt Situationen, in denen die Sammlung einfache Elemente enthält, wievar col:ICollectionView = new ArrayCollection(); col.addItem({first:"Anders", last:"Dickerson"}); var sort:Sort = new Sort(); sort.fields = [new SortField("first", true)]; col.sort = sort;
var col:ICollectionView = new ArrayCollection(); col.addItem("California"); col.addItem("Arizona"); var sort:Sort = new Sort(); sort.fields = [new SortField(null, true)]; col.sort = sort;
Standardmäßig stellt der von der SortField-Klasse bereitgestellte Vergleich keine korrekte sprachspezifische Sortierung für Strings bereit. Weitere Informationen zu dieser Sortierungsart finden Sie unter den
Hinweis: Eine
Die Vergleichsfunktion muss folgende Signatur haben:
Diese Funktion muss folgende Werte zurückgeben:
Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann, wobei die Stringvergleiche zwischen Groß- und Kleinschreibung unterscheiden können. Geben Sie Ihre eigene Funktion nur an, wenn ein benutzerdefinierter Vergleichsalgorithmus erforderlich ist. Dies ist normalerweise nur der Fall, wenn ein berechnetes Feld in einer Anzeige verwendet wird.
Hinweis: Wenn Sie sprachspezifische Sortierung benötigen, betrachten Sie dieDer Standardwert ist
Diese Eigenschaft wird von der
Wenn diese Eigenschaft
Wenn diese Eigenschaft
Wenn diese Eigenschaft
<mx:AsyncListView>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:AsyncListView Properties createFailedItemFunction="null" createPendingItemFunction="null" list="null" />]]>
Die
Diese Klasse delegiert die IList-Methoden und -Eigenschaften an ihre
Diese Klasse ist zur Verwendung mit Spark-Komponenten vorgesehen, die auf DataGroup basieren, z. B. List und ComboBox. Die Spark-Klassen stellen keine Unterstützung für die Verarbeitung von ItemPendingError bereit.
AsyncListView unterstützt das erneute Einfügen von ausstehenden oder fehlgeschlagenen Objekten nicht. Wenn ein fehlgeschlagenes oder ausstehendes Objekt entfernt wird, geht seine Verbindung zu einer ausstehenden Datenanforderung verloren. Die Verwendung von Drag & Drop zum Verschieben ausstehender Objekte in einer ASyncListView, die ausstehende oder fehlgeschlagene Objekte enthält, wird nicht unterstützt, da hierdurch Listenobjekte entfernt und erneut eingefügt würden.
Diese Methode erfasst die als Folge des Aufrufs von
Hinweis: Im Unterschied zu
Wenn ein Element nicht lokal ist und ein asynchroner Vorgang ausgeführt werden muss, wird ein
Weitere Informationen zur Verwendung von
Wenn an der angegebenen Indexposition kein tatsächliches oder ausstehendes Objekt vorhanden ist, zum Beispiel, weil ein Aufruf von
Der Wert dieser Eigenschaft muss eine Funktion mit zwei Parametern sein, der Indexposition des angeforderten Objekts sowie dem Informationsobjekt zum Fehler, das von der IResponder
function createFailedItem(index:int, info:Object):Object { return "[" + index + "request failed]"; }
Das Festlegen dieser Eigenschaft wirkt sich nicht auf fehlgeschlagene Objekte aus, die bereits erstellt waren. Das Setzen der Eigenschaft auf null verhindert das Erstellen von fehlgeschlagenen Objekten.
Der Wert dieser Eigenschaft muss eine Funktion mit zwei Parametern sein, der Indexposition des angeforderten Datenprovider-Objekts sowie dem ItemPendingError selbst. In den meisten Fällen kann der zweite Parameter ignoriert werden. Das nachstehende Beispiel zeigt eine Implementierung der Rückruffunktion:
function createPendingItem(index:int, ipe:ItemPendingError):Object { return "[" + index + "request is pending...]"; }
Das Festlegen dieser Eigenschaft wirkt sich nicht auf vorläufige „ausstehende“ Objekte aus, die bereits erstellt waren. Das Setzen der Eigenschaft auf null verhindert das Erstellen von vorläufigen „ausstehenden“ Objekten.
Ist diese Eigenschaft „null“, sind die IList-Mutationsmethoden wie z. B.
<mx:ArrayCollection>
tag inherits all the attributes of its
superclass, and adds the following attributes:
<mx:ArrayCollection Properties source="null" />]]>
var myCollection:ArrayCollection = new ArrayCollection([ { first: 'Matt', last: 'Matthews' } ]); var myCursor:IViewCursor = myCollection.createCursor(); var firstItem:Object = myCollection.getItemAt(0); var firstItemFromCursor:Object = myCursor.current; if (firstItem == firstItemFromCursor) doCelebration();
Erstellt mithilfe des angegebenen Quellarrays ein neues ArrayCollection-Objekt. Wenn kein Array angegeben wird, wird ein leeres Array verwendet.
Hinweis: Eine
Die Vergleichsfunktion muss folgende Signatur haben:
function [name](a:Object, b:Object, fields:Array = null):int
Diese Funktion muss Folgendes zurückgeben value:
Um zur internen Vergleichsfunktion zurückzukehren, setzen Sie diesen Wert auf
Das
function myCompare(a:Object, b:Object, fields:Array = null):int { var result:int = 0; var i:int = 0; var propList:Array = fields ? fields : internalPropList; var len:int = propList.length; var propName:String; while (result == 0 && (i < len)) { propName = propList[i]; result = compareValues(a[propName], b[propName]); i++; } return result; } function compareValues(a:Object, b:Object):int { if (a == null && b == null) return 0; if (a == null) return 1; if (b == null) return -1; if (a < b) return -1; if (a > b) return 1; return 0; }
Der Standardwert ist eine interne Vergleichsfunktion, die einen Vergleich von Strings, numerischen Werten oder Datumsangaben in aufsteigender oder absteigender Reihenfolge durchführen kann. Geben Sie Ihre eigene Funktion nur an, wenn ein benutzerdefinierter Vergleichsalgorithmus erforderlich ist. Dies ist normalerweise nur der Fall, wenn ein berechnetes Feld in einer Anzeige verwendet wird.
Alternativ dazu können Sie für jedes Sortierfeld mithilfe der
<mx:XMLListCollection>
tag inherits all
the attributes of its superclass, and adds the following attributes:
<mx:XMLListCollection Properties source="null" />]]>
Erstellt mithilfe des angegebenen XMLList-Objekts ein neues XMLListCollection-Objekt.
Die
Die
Eine
Die
Hinweis: Im Unterschied zu
Wenn ein Element nicht lokal ist und ein asynchroner Vorgang ausgeführt werden muss, wird ein
Weitere Informationen zur Verwendung von
<mx:ListCollectionView>
has the following attributes,
which all of its subclasses inherit:
<mx:ListCollectionView Properties filterFunction="null" list="null" sort="null" Events collectionChange="No default" />]]>
Bei dieser Klasse können Sie auch die Arrayschreibweise [] verwenden, um auf die
Hinweis: Im Unterschied zu
Gibt
f(item:Object):BooleanDabei ist der Rückgabewert
Wenn ein Filter nicht unterstützt wird, gibt Flex einen Fehler aus, wenn auf diese Eigenschaft zugegriffen wird. Sie müssen
Hinweis: Die Flex-Implementierungen der ICollectionView rufen alle Elemente von einer Remote-Position ab, bevor die Filterfunktion ausgeführt wird. Wenn Sie Paging verwenden, wenden Sie den Filter auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Hinweis: Die Flex-Implementierungen der ICollectionView-Schnittstelle rufen alle Elemente von einer Remote-Position ab, bevor eine Sortierung durchgeführt wird. Wenn Sie bei einer sortierten Liste Paging verwenden, wenden Sie die Sortierung auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Eine
Die
Gibt
f(item:Object):BooleanDabei ist der Rückgabewert
Wenn ein Filter nicht unterstützt wird, gibt Flex einen Fehler aus, wenn auf diese Eigenschaft zugegriffen wird. Sie müssen
Hinweis: Die Flex-Implementierungen der ICollectionView rufen alle Elemente von einer Remote-Position ab, bevor die Filterfunktion ausgeführt wird. Wenn Sie Paging verwenden, wenden Sie den Filter auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Hinweis: Die Flex-Implementierungen der ICollectionView-Schnittstelle rufen alle Elemente von einer Remote-Position ab, bevor eine Sortierung durchgeführt wird. Wenn Sie bei einer sortierten Liste Paging verwenden, wenden Sie die Sortierung auf die Remote-Sammlung an, bevor Sie die Daten abrufen.
Die
Wenn die zugehörige Sammlung remote ist und nicht alle Elemente lokal zwischengespeichert wurden, beginnt diese Methode einen asynchronen Abruf aus der Remote-Sammlung. Wenn bereits ein Abruf ausgeführt wird, wartet diese Methode, bis der Abruf beendet wurde, bevor eine weitere Abrufanforderung gestellt wird.
Wenn mehrere Elemente die Suchkriterien erfüllen, ist das gefundene Elemente nicht-deterministisch. Wenn es wichtig ist, das erste oder letzte Vorkommen eines Elements in einem nicht eindeutigen Index zu finden, verwenden Sie die
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben.
Die
Wenn die zugehörige Sammlung remote ist und nicht alle Elemente lokal zwischengespeichert wurden, beginnt diese Methode einen asynchronen Abruf aus der Remote-Sammlung. Wenn bereits ein Abruf ausgeführt wird, wartet diese Methode, bis der Abruf beendet wurde, bevor eine weitere Abrufanforderung gestellt wird.
Wenn es nicht wichtig ist, das erste Vorkommen eines Elements in einem nicht eindeutigen Index zu finden, verwenden Sie die
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben.
Die
Wenn die zugehörige Sammlung remote ist und nicht alle Elemente lokal zwischengespeichert wurden, beginnt diese Methode einen asynchronen Abruf aus der Remote-Sammlung. Wenn bereits ein Abruf ausgeführt wird, wartet diese Methode, bis der Abruf beendet wurde, bevor eine weitere Abrufanforderung gestellt wird.
Wenn es nicht wichtig ist, das letzte Vorkommen eines Elements in einem nicht eindeutigen Index zu finden, verwenden Sie die
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben.
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben. Weitere Informationen zur Verwendung von ItemPendingError finden Sie in der ItemPendingError-Dokumentation und der Dokumentation zu den Sammlungen.
var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]); var cursor:IViewCursor = myArrayCollection.createCursor(); while (!cursor.afterLast) { trace(cursor.current); cursor.moveNext(); }
var myArrayCollection:ICollectionView = new ArrayCollection([ "Bobby", "Mark", "Trevor", "Jacey", "Tyler" ]); var cursor:IViewCursor = myArrayCollection.createCursor(); cursor.seek(CursorBookmark.last); while (!cursor.beforeFirst) { trace(current); cursor.movePrevious(); }
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben. Weitere Informationen zur Verwendung von ItemPendingError finden Sie in der ItemPendingError-Dokumentation und der Dokumentation zu den Sammlungen.
Wenn die Daten nach dem entfernten Element nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben. Weitere Informationen zur Verwendung von ItemPendingError finden Sie in der ItemPendingError-Dokumentation und der Dokumentation zu den Sammlungen.
Wenn die zugehörige Sammlung remote ist und nicht alle Elemente lokal zwischengespeichert wurden, beginnt diese Methode einen asynchronen Abruf aus der Remote-Sammlung.
Wenn die Daten nicht lokal sind und ein asynchroner Vorgang ausgeführt werden muss, wird ein ItemPendingError ausgegeben. Weitere Informationen zur Verwendung von ItemPendingError finden Sie in der ItemPendingError-Dokumentation und der Dokumentation zu den Sammlungen.