| Paket | fl.data |
| Klasse | public class DataProvider |
| Vererbung | DataProvider EventDispatcher Object |
| Sprachversion: | ActionScript 3.0 |
| Produktversion: | Flash CS3 |
| Laufzeitversionen: | Flash Player 9.0.28.0, AIR 1.0 |
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.
| Eigenschaft | Definiert von | ||
|---|---|---|---|
![]() | constructor : 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 | ||
| Methode | Definiert von | ||
|---|---|---|---|
DataProvider(value:Object = null)
Erstellt ein neues DataProvider-Objekt anhand einer Liste, einer XML-Instanz oder eines Arrays von Datenobjekten als Datenquelle. | DataProvider | ||
![]() | 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 | ||
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 | ||
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 | ||
![]() |
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 | ||
![]() |
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | |
![]() |
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 | ||
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | |
Hängt die angegebenen Daten an die im Datenprovider enthaltenen Daten an und entfernt doppelte Elemente. | DataProvider | ||
![]() |
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 | ||
![]() |
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 | ||
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 | ||
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | |
Sortiert die im Datenprovider enthaltenen Elemente und löst ein DataChangeType.SORT-Ereignis aus. | DataProvider | ||
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 | ||
![]() |
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 | ||
![]() |
Gibt den Grundwert des angegebenen Objekts zurück. | Object | |
![]() |
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher | |
| Ereignis | Übersicht | Definiert von | ||
|---|---|---|---|---|
![]() | [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 | |||
![]() | [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 | |||
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():uintBeispiel ( Verwendung dieses Beispiels )
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);
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.
Parametervalue:Object (default = null) — Die zum Erstellen des DataProvider-Objekts verwendeten Daten.
|
Beispiel ( Verwendung dieses Beispiels )
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);
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);
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);
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);
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 )
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 )
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ückgabewerteDataProvider — 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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
* — 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.
|
* — 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 |
toString | () | Methode |
dataChange | Ereignis |
fl.events.DataChangeEventEigenschaft 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 Eigenschafttype eines dataChange-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
changeType | Gibt die Art der vorgenommenen Änderung an. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
endIndex | Gibt die Indexposition des letzten geänderten Elements an. |
items | Ein Array, das die geänderten Elemente enthält. |
startIndex | Gibt die Indexposition des ersten geänderten Elements an. |
target | Das 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 |
fl.events.DataChangeEventEigenschaft 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 Eigenschafttype eines preDataChange-Ereignisobjekts. Dieses Ereignisobjekt wird ausgelöst, bevor Änderungen an den Komponentendaten vorgenommen werden.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
| Eigenschaft | Wert |
|---|---|
bubbles | false |
cancelable | false. Es gibt kein Standardverhalten, das abgebrochen werden kann. |
changeType | Gibt die Art der vorzunehmenden Änderung an. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
endIndex | Gibt die Indexposition des letzten zu ändernden Elements an. |
items | Ein Array, das die zu ändernden Elemente enthält. |
startIndex | Gibt die Indexposition des ersten zu ändernden Elements an. |
target | Das 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
Gehen Sie wie folgt vor, um das Beispiel auszuführen:
- Fügen Sie die Label-, Button-, ComboBox-, TextInput- und DataGrid-Komponenten zur Bibliothek hinzu.
- Speichern Sie diesen Code unter DataProviderExample.as im gleichen Verzeichnis wie die FLA-Datei.
- 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);
}
}
}
Tue Jun 12 2018, 10:04 AM Z
Vererbte öffentliche Eigenschaften ausblenden
Vererbte öffentliche Eigenschaften anzeigen