ActionScript® 3.0 Referenzhandbuch für die Adobe® Flash®-Plattform
Home  |  Liste der Pakete und Klassen ausblenden |  Pakete  |  Klassen  |  Neue Funktionen  |  Stichwortverzeichnis  |  Anhänge  |  Warum auf Englisch?
Filter: Daten werden vom Server abgerufen...
Daten werden vom Server abgerufen...
fl.data 

DataProvider  - AS3 Flash

Paketfl.data
Klassepublic class DataProvider
VererbungDataProvider Inheritance EventDispatcher Inheritance Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Die DataProvider-Klasse stellt Methoden und Eigenschaften bereit, mit denen Sie die Daten in einer listenbasierten Komponente (beispielsweise List, DataGrid, TileList oder ComboBox) abrufen und ändern können.

Bei einem Datenprovider handelt es sich um eine lineare Sammlung von Elementen, die als Datenquelle dienen, also beispielsweise ein Array. Alle Elemente in einem Datenprovider sind Objekte oder XML-Objekte, die ein oder mehrere Datenfelder enthalten. Sie können auf die Elemente im Datenprovider anhand des Index mithilfe der Methode DataProvider.getItemAt() zugreifen.

Beispiele anzeigen



Öffentliche Eigenschaften
 EigenschaftDefiniert von
 Inheritedconstructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
Object
  length : uint
[schreibgeschützt] Die Anzahl der Elemente im DataProvider.
DataProvider
Öffentliche Methoden
 MethodeDefiniert von
  
DataProvider(value:Object = null)
Erstellt ein neues DataProvider-Objekt anhand einer Liste, einer XML-Instanz oder eines Arrays von Datenobjekten als Datenquelle.
DataProvider
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird.
EventDispatcher
  
Fügt ein Element am Ende des Datenproviders hinzu.
DataProvider
  
addItemAt(item:Object, index:uint):void
Fügt dem Datenprovider an der angegebenen Indexposition ein neues Element hinzu.
DataProvider
  
Hängt am Ende des Datenproviders mehrere Elemente an und löst ein DataChangeType.ADD-Ereignis aus.
DataProvider
  
addItemsAt(items:Object, index:uint):void
Fügt dem Datenprovider an einer angegebenen Indexposition mehrere Elemente hinzu und löst ein DataChangeType.ADD-Ereignis aus.
DataProvider
  
Erstellt eine Kopie des aktuellen DataProvider-Objekts.
DataProvider
  
Verkettet die angegebenen Elemente am Ende des aktuellen Datenproviders.
DataProvider
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
  
Gibt das Element an der angegebenen Indexposition zurück.
DataProvider
  
Gibt die Indexposition des angegebenen Elements zurück.
DataProvider
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
  
Entwertet alle Datenelemente im DataProvider-Objekt und löst ein DataChangeEvent.INVALIDATE_ALL-Ereignis aus.
DataProvider
  
Entwertet das angegebene Element.
DataProvider
  
Entwertet das Element an der angegebenen Indexposition.
DataProvider
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
merge(newData:Object):void
Hängt die angegebenen Daten an die im Datenprovider enthaltenen Daten an und entfernt doppelte Elemente.
DataProvider
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
  
Entfernt alle Elemente aus dem Datenprovider und löst ein DataChangeType.REMOVE_ALL-Ereignis aus.
DataProvider
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
  
Entfernt das Element aus dem Datenprovider und löst ein DataChangeType.REMOVE-Ereignis aus.
DataProvider
  
Entfernt das Element an der angegebenen Indexposition und löst ein DataChangeType.REMOVE-Ereignis aus.
DataProvider
  
replaceItem(newItem:Object, oldItem:Object):Object
Ersetzt ein altes Element durch ein neues Element und löst ein DataChangeType.REPLACE-Ereignis aus.
DataProvider
  
Ersetzt das Element an der angegebenen Indexposition und löst ein DataChangeType.REPLACE-Ereignis aus.
DataProvider
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
sort(... sortArgs):*
Sortiert die im Datenprovider enthaltenen Elemente und löst ein DataChangeType.SORT-Ereignis aus.
DataProvider
  
sortOn(fieldName:Object, options:Object = null):*
Sortiert die im Datenprovider enthaltenen Elemente anhand des angegebenen Felds und löst ein DataChangeType.SORT-Ereignis aus.
DataProvider
  
Stellt die im Datenprovider enthaltenen Daten als Array-Objekt dar.
DataProvider
 Inherited
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas.
Object
  
[override] Stellt die im Datenprovider enthaltenen Daten als Zeichenfolge dar.
DataProvider
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 Ereignis Übersicht Definiert von
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird.EventDispatcher
  Wird ausgelöst, nachdem die Daten geändert wurden.DataProvider
 Inherited[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird.EventDispatcher
  Wird ausgelöst, bevor die Daten geändert werden.DataProvider
Eigenschaftendetails

length

Eigenschaft
length:uint  [schreibgeschützt]

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Die Anzahl der Elemente im DataProvider.



Implementierung
    public function get length():uint

Beispiel  ( Verwendung dieses Beispiels )
Im folgenden Beispiel wird eine Instanz der List-Komponente erstellt und die Listengröße an die Anzahl der Elemente im Datenprovider angepasst:
import fl.controls.List;
import fl.data.DataProvider;

var dp:DataProvider = new DataProvider();
dp.addItem({label:"Item 1"});
dp.addItem({label:"Item 2"});
dp.addItem({label:"Item 3"});
dp.addItem({label:"Item 4"});

var myList:List = new List();
myList.dataProvider = dp;
myList.rowHeight = 35;
myList.rowCount = dp.length;
myList.move(10, 10);
addChild(myList);
Konstruktordetails

DataProvider

()Konstruktor
public function DataProvider(value:Object = null)

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Erstellt ein neues DataProvider-Objekt anhand einer Liste, einer XML-Instanz oder eines Arrays von Datenobjekten als Datenquelle.

Parameter
value:Object (default = null) — Die zum Erstellen des DataProvider-Objekts verwendeten Daten.

Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der addItem()-Methode ein neuer Datenprovider erstellt:
import fl.controls.ComboBox;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
dp.addItem({label:"item 1a"});
dp.addItem({label:"item 2a"});

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

Im folgenden Beispiel wird ein Datenprovider mit einem Array-Objekt gefüllt:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var arr:Array = new Array();
arr.push({label:"item 1b"});
arr.push({label:"item 2b"});

var dp:DataProvider = new DataProvider(arr);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

Im folgenden Beispiel wird ein Datenprovider mit einem XML-Objekt mit Attributen gefüllt:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var xml:XML = <items>
        <item label="item 1c" />
        <item label="item 2c" />
    </items>;

var dp:DataProvider = new DataProvider(xml);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

Im folgenden Beispiel wird ein Datenprovider mit einem XML-Objekt mit untergeordneten Knoten gefüllt:
import fl.controls.ComboBox;
import fl.data.DataProvider;

var xml:XML = <items>
        <item>
            <label>item 1d</label>
        </item>
        <item>
            <label>item 2d</label>
        </item>
    </items>;

var dp:DataProvider = new DataProvider(xml);

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);
Methodendetails

addItem

()Methode
public function addItem(item:Object):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Fügt ein Element am Ende des Datenproviders hinzu.

Parameter

item:Object — Das Element wird am Ende des aktuellen Datenproviders hinzugefügt.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel wird mithilfe der addItem()-Methode ein neuer Datenprovider erstellt:
import fl.controls.ComboBox;
import fl.data.DataProvider;
 
var dp:DataProvider = new DataProvider();
dp.addItem({label:"item 1a"});
dp.addItem({label:"item 2a"});

var myComboBox:ComboBox = new ComboBox()
myComboBox.dataProvider = dp;
myComboBox.move(10, 10);
addChild(myComboBox);

addItemAt

()Methode 
public function addItemAt(item:Object, index:uint):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Fügt dem Datenprovider an der angegebenen Indexposition ein neues Element hinzu. Falls die angegebene Indexposition die Länge des Datenproviders übersteigt, wird die Indexposition ignoriert.

Parameter

item:Object — Ein Objekt, das die Daten des hinzuzufügenden Objekts enthält.
 
index:uint — Die Indexposition, an der das Element hinzugefügt wird.


Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

addItems

()Methode 
public function addItems(items:Object):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Hängt am Ende des Datenproviders mehrere Elemente an und löst ein DataChangeType.ADD-Ereignis aus. Die Elemente werden in der angegebenen Reihenfolge hinzugefügt.

Parameter

items:Object — Die Elemente, die an den Datenprovider angehängt werden.

Verwandte API-Elemente


Beispiel  ( Verwendung dieses Beispiels )

Im folgenden Beispiel werden mit der addItems()-Methode mehrere Elemente zum Datenprovider hinzugefügt:
import fl.controls.DataGrid;
import fl.controls.dataGridClasses.DataGridColumn;
import fl.data.DataProvider;

var arr:Array = [{col1:"1.A", col2:"1.B"}, {col1:"2.A", col2:"2.B"}]

var dp:DataProvider = new DataProvider();
dp.addItems(arr);
trace(dp.length); // 2

var c1:DataGridColumn = new DataGridColumn("col1");
var c2:DataGridColumn = new DataGridColumn("col2");

var myDataGrid:DataGrid = new DataGrid();
myDataGrid.addColumn(c1);
myDataGrid.addColumn(c2);
myDataGrid.dataProvider = dp;
myDataGrid.setSize(200, 160);
myDataGrid.move(10, 10);
addChild(myDataGrid);

addItemsAt

()Methode 
public function addItemsAt(items:Object, index:uint):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Fügt dem Datenprovider an einer angegebenen Indexposition mehrere Elemente hinzu und löst ein DataChangeType.ADD-Ereignis aus.

Parameter

items:Object — Die Elemente, die dem Datenprovider hinzugefügt werden.
 
index:uint — Die Indexposition, an der die Elemente hinzugefügt werden.


Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

clone

()Methode 
public function clone():DataProvider

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Erstellt eine Kopie des aktuellen DataProvider-Objekts.

Rückgabewerte
DataProvider — Eine neue Instanz dieses DataProvider-Objekts.

concat

()Methode 
public function concat(items:Object):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Verkettet die angegebenen Elemente am Ende des aktuellen Datenproviders. Diese Methode löst ein DataChangeType.SORT-Ereignis aus.

Parameter

items:Object — Die Elemente, die dem Datenprovider hinzugefügt werden.

Verwandte API-Elemente

getItemAt

()Methode 
public function getItemAt(index:uint):Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Gibt das Element an der angegebenen Indexposition zurück.

Parameter

index:uint — Die Position des zurückgegebenen Elements.

Rückgabewerte
Object — Das Element an der angegebenen Indexposition.

Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

getItemIndex

()Methode 
public function getItemIndex(item:Object):int

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Gibt die Indexposition des angegebenen Elements zurück.

Parameter

item:Object — Das zu suchende Element.

Rückgabewerte
int — Die Indexposition des angegebenen Elements oder -1, wenn das Element nicht gefunden wird.

Verwandte API-Elemente

invalidate

()Methode 
public function invalidate():void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entwertet alle Datenelemente im DataProvider-Objekt und löst das Ereignis DataChangeEvent.INVALIDATE_ALL aus. Elemente werden entwertet, nachdem sie geändert wurden. Dabei erstellt der Datenprovider die entwerteten Elemente automatisch neu.

Verwandte API-Elemente

invalidateItem

()Methode 
public function invalidateItem(item:Object):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entwertet das angegebene Element. Ein Element wird entwertet, nachdem es geändert wurde. Dabei erstellt der Datenprovider das entwertete Element automatisch neu.

Parameter

item:Object — Das zu entwertende Element.

Verwandte API-Elemente

invalidateItemAt

()Methode 
public function invalidateItemAt(index:int):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entwertet das Element an der angegebenen Indexposition. Ein Element wird entwertet, nachdem es geändert wurde. Dabei erstellt der Datenprovider das entwertete Element automatisch neu.

Parameter

index:int — Die Indexposition des zu entwertenden Elements.


Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

merge

()Methode 
public function merge(newData:Object):void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Hängt die angegebenen Daten an die im Datenprovider enthaltenen Daten an und entfernt doppelte Elemente. Diese Methode löst ein DataChangeType.SORT-Ereignis aus.

Parameter

newData:Object — Daten, die im Datenprovider zusammengeführt werden.

Verwandte API-Elemente

removeAll

()Methode 
public function removeAll():void

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entfernt alle Elemente aus dem Datenprovider und löst ein DataChangeType.REMOVE_ALL-Ereignis aus.

Verwandte API-Elemente

removeItem

()Methode 
public function removeItem(item:Object):Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entfernt das angegebene Element aus dem Datenprovider und löst ein DataChangeType.REMOVE-Ereignis aus.

Parameter

item:Object — Das zu entfernende Element.

Rückgabewerte
Object — Das entfernte Element.

Verwandte API-Elemente

removeItemAt

()Methode 
public function removeItemAt(index:uint):Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Entfernt das Element an der angegebenen Indexposition und löst ein DataChangeType.REMOVE-Ereignis aus.

Parameter

index:uint — Die Indexposition des zu entfernenden Elements.

Rückgabewerte
Object — Das entfernte Element.

Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

replaceItem

()Methode 
public function replaceItem(newItem:Object, oldItem:Object):Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Ersetzt ein altes Element durch ein neues Element und löst ein DataChangeType.REPLACE-Ereignis aus.

Parameter

newItem:Object — Das zu ersetzende Element.
 
oldItem:Object — Das Ersetzungselement.

Rückgabewerte
Object — Das ersetzte Element.

Auslöser
RangeError — Das Element wurde im Datenprovider nicht gefunden.

Verwandte API-Elemente

replaceItemAt

()Methode 
public function replaceItemAt(newItem:Object, index:uint):Object

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Ersetzt das Element an der angegebenen Stelle und löst ein DataChangeType.REPLACE-Ereignis aus.

Parameter

newItem:Object — Das Ersetzungselement.
 
index:uint — Der Index des Elements, das ersetzt werden soll.

Rückgabewerte
Object — Das ersetzte Element.

Auslöser
RangeError — Der angegebene Index ist kleiner als 0 oder größer gleich der Länge des Datenproviders.

Verwandte API-Elemente

sort

()Methode 
public function sort(... sortArgs):*

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Sortiert die im Datenprovider enthaltenen Elemente und löst ein DataChangeType.SORT-Ereignis aus.

Parameter

... sortArgs — Die zum Sortieren verwendeten Argumente.

Rückgabewerte
* — Der Ausgabewert hängt davon ab, ob die Methode ein Argument erhält. Weitere Informationen finden Sie im Abschnitt zur Methode Array.sort(). Bei dieser Methode wird 0 ausgegeben, wenn für die Eigenschaft sortOption Array.UNIQUESORT festgelegt ist.

Verwandte API-Elemente

sortOn

()Methode 
public function sortOn(fieldName:Object, options:Object = null):*

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Sortiert die im Datenprovider enthaltenen Elemente anhand des angegebenen Felds und löst ein DataChangeType.SORT-Ereignis aus. Bei dem angegebenen Feld kann es sich um einen String oder einen Array von String-Werten handeln, der mehrere Felder nach Priorität sortiert.

Parameter

fieldName:Object — Das Elementfeld, nach dem sortiert wird. Bei diesem Wert kann es sich um einen String oder einen Array von String-Werten handeln.
 
options:Object (default = null) — Die Sortieroptionen.

Rückgabewerte
* — Der Ausgabewert hängt davon ab, ob die Methode ein Argument erhält. Weitere Informationen hierzu finden Sie im Abschnitt zur Methode Array.sortOn(). Falls für die Eigenschaft sortOption Array.UNIQUESORT festgelegt ist, wird für diese Methode 0 ausgegeben.

Verwandte API-Elemente

toArray

()Methode 
public function toArray():Array

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Stellt die im Datenprovider enthaltenen Daten als Array-Objekt dar.

Rückgabewerte
Array — Die im Datenprovider enthaltenen Daten als Array-Objekt.

toString

()Methode 
override public function toString():String

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Stellt die im Datenprovider enthaltenen Daten als Zeichenfolge dar.

Rückgabewerte
String — Die im Datenprovider enthaltenen Daten als Zeichenfolge.
Ereignisdetails

dataChange

Ereignis
Ereignisobjekttyp: fl.events.DataChangeEvent
Eigenschaft DataChangeEvent.type = fl.events.DataChangeEvent.DATA_CHANGE

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Wird ausgelöst, nachdem die Daten geändert wurden.

Definiert den Wert der Eigenschaft type eines dataChange-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
changeTypeGibt die Art der vorgenommenen Änderung an.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
endIndexGibt die Indexposition des letzten geänderten Elements an.
itemsEin Array, das die geänderten Elemente enthält.
startIndexGibt die Indexposition des ersten geänderten Elements an.
targetDas Objekt, von dem das Ereignis ausgelöst wurde. Das Ziel ist nicht immer das Objekt, das auf das Ereignis wartet. Verwenden Sie die Eigenschaft currentTarget, um auf das Objekt zuzugreifen, das auf das Ereignis wartet.

Verwandte API-Elemente

preDataChange

Ereignis  
Ereignisobjekttyp: fl.events.DataChangeEvent
Eigenschaft DataChangeEvent.type = fl.events.DataChangeEvent.PRE_DATA_CHANGE

Sprachversion: ActionScript 3.0
Produktversion: Flash CS3
Laufzeitversionen: Flash Player 9.0.28.0, AIR 1.0

Wird ausgelöst, bevor die Daten geändert werden.

Definiert den Wert der Eigenschaft type eines preDataChange-Ereignisobjekts. Dieses Ereignisobjekt wird ausgelöst, bevor Änderungen an den Komponentendaten vorgenommen werden.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
changeTypeGibt die Art der vorzunehmenden Änderung an.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
endIndexGibt die Indexposition des letzten zu ändernden Elements an.
itemsEin Array, das die zu ändernden Elemente enthält.
startIndexGibt die Indexposition des ersten zu ändernden Elements an.
targetDas Objekt, von dem das Ereignis ausgelöst wurde. Das Ziel ist nicht immer das Objekt, das auf das Ereignis wartet. Verwenden Sie die Eigenschaft currentTarget, um auf das Objekt zuzugreifen, das auf das Ereignis wartet.

Verwandte API-Elemente

DataProviderExample.as

Dieses Beispiel zeigt, wie Datenprovider zum Verwalten von Inhalten in mehreren Datenrastern verwendet werden können.

Gehen Sie wie folgt vor, um das Beispiel auszuführen:

  1. Fügen Sie die Label-, Button-, ComboBox-, TextInput- und DataGrid-Komponenten zur Bibliothek hinzu.
  2. Speichern Sie diesen Code unter DataProviderExample.as im gleichen Verzeichnis wie die FLA-Datei.
  3. Legen Sie in der FLA-Datei als Dokumentklasse den Wert "DataProviderExample" fest.
package
{
    import fl.controls.Button;
    import fl.controls.ComboBox;
    import fl.controls.DataGrid;
    import fl.controls.Label;
    import fl.controls.TextInput;
    import fl.data.DataProvider;
    import flash.display.Sprite;
    import flash.events.*;
    import flash.text.TextFieldAutoSize;
    
    public class DataProviderExample extends Sprite
    {        
        private var southern:DataGrid;
        private var northern:DataGrid;
        private var world:DataGrid;
        private var southernRoster:DataProvider;
        private var northernRoster:DataProvider;
        private var leagueCB:ComboBox;
        private var nameTI:TextInput;
        private var goalsTI:TextInput;
        private var submitBtn:Button;

        public function DataProviderExample() {
            southernRoster = new DataProvider();
            northernRoster = new DataProvider();
            
            createDataGrids();
            createUI();
        }

        private function createUI():void {
            var description:Label = new Label();
            description.text = "Enter player's name, goals scored, and hemisphere of origin:";
            description.autoSize = TextFieldAutoSize.LEFT;
            nameTI = new TextInput();
            goalsTI = new TextInput();
            
            var submitBtn:Button = new Button();
            submitBtn.label = "Submit Player";
            submitBtn.addEventListener(MouseEvent.CLICK, submitPlayer);
            
            leagueCB = new ComboBox();
            leagueCB.addItem( { label:"Northern", data: 0 } );
            leagueCB.addItem( { label:"Southern", data: 1 } );
            
            description.move(10,10);
            nameTI.move(10,40);
            nameTI.setSize(150,24);
            goalsTI.move(170,40);
            goalsTI.setSize(40,24);
            leagueCB.move(220,40);
            leagueCB.setSize(120,24);
            submitBtn.move(350,40);
            goalsTI.restrict = "0123456789";
            
            addChild(description);
            addChild(leagueCB);
            addChild(submitBtn);
            addChild(nameTI);
            addChild(goalsTI);
        }
        private function submitPlayer(e:MouseEvent):void {
            if(nameTI.text != "" && goalsTI.text != "") {
                var targetRoster:DataProvider;

                if(leagueCB.selectedItem.label == "Southern") {
                    targetRoster = southernRoster;
                }
                else {
                    targetRoster = northernRoster;
                }
    
                targetRoster.addItem( { Name: nameTI.text, Goals: goalsTI.text } );
                
                var worldRoster:DataProvider = southernRoster.clone();
                worldRoster.merge(northernRoster);
                worldRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                southernRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                northernRoster.sortOn("Goals", Array.NUMERIC | Array.DESCENDING);
                
                world.dataProvider = worldRoster;
                
                nameTI.text = "";
                goalsTI.text = "";
            }
        }        

        private function createDataGrids():void {
            southern = new DataGrid();
            northern = new DataGrid();
            world = new DataGrid();
            southern.move(10,100);
            northern.move(180,100);
            world.move(350,100);
            southern.setSize(170, 250);
            northern.setSize(170, 250);
            world.setSize(170, 250);
            southern.columns = 
            northern.columns = 
            world.columns = [ "Name", "Goals" ];
            southern.dataProvider = southernRoster;
            northern.dataProvider = northernRoster;            
            addChild(southern);
            addChild(northern);
            addChild(world);

            var northernLabel:Label = new Label();
            northernLabel.autoSize = TextFieldAutoSize.LEFT;
            northernLabel.text = "Southern Hemisphere";
            northernLabel.move(10,75);
            addChild(northernLabel);
            var southernLabel:Label = new Label();
            southernLabel.autoSize = TextFieldAutoSize.LEFT;
            southernLabel.text = "Northern Hemisphere";
            southernLabel.move(180,75);
            addChild(southernLabel);
            var majorLabel:Label = new Label();
            majorLabel.autoSize = TextFieldAutoSize.LEFT;
            majorLabel.text = "World";
            majorLabel.move(350,75);
            addChild(majorLabel);
        }
    }
}




[ X ]Warum auf Englisch?
Inhalt des ActionScript 3.0-Referenzhandbuchs wird in englischer Sprache angezeigt

Nicht alle Teile des ActionScript 3.0-Referenzhandbuchs wurden in alle Sprachen übersetzt. Wenn der Text zu einem Sprachelement nicht übersetzt wurde, wird er auf Englisch angezeigt. Zum Beispiel wurden die Informationen zur ga.controls.HelpBox-Klasse nicht in andere Sprachen übersetzt. In der deutschen Version des Referenzhandbuchs erscheint der Abschnitt zur ga.controls.HelpBox-Klasse deshalb auf Englisch.