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...
mx.controls.listClasses 

IDropInListItemRenderer  - AS3 Flex

Paketmx.controls.listClasses
Schnittstellepublic interface IDropInListItemRenderer
Umsetzer AdvancedDataGridGroupItemRenderer, AdvancedDataGridHeaderRenderer, AdvancedDataGridItemRenderer, AdvancedListBase, Button, ComboBox, DataGridItemRenderer, DateField, FTEAdvancedDataGridItemRenderer, FTEDataGridItemRenderer, HTML, Image, Label, ListBase, ListItemRenderer, MXAdvancedDataGridItemRenderer, MXItemRenderer, MenuItemRenderer, NumericStepper, OLAPDataGridGroupRenderer, RendererBase, TextArea, TileListItemRenderer, TreeItemRenderer

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Die Schnittstelle für Renderer, in denen Elemente abgelegt werden können. In den meisten IListItemRenderer-Objekten können keine Elemente abgelegt werden. Diese Objekte erwarten, dass ein bestimmtes Feld des Datenproviderelements verwendet wird. Sie können beispielsweise die „lastName“-Eigenschaft des Elements einer text-Eigenschaft einer Beschriftung zuweisen. Dies lässt sich mit Datenbindungsfunktionen leicht programmieren, hat aber die negative Folge, dass der Renderer nicht in einer anderen Spalte einer DataGrid- oder List-Klasse mit anderen Feldern verwendet werden kann. Mit der IDropInListItemRenderer-Schnittstelle kann ein anderer Renderer wiederverwendet werden. Die Listenklassen übergeben mehr Informationen an den Renderer, damit er bestimmen kann, welches Feld zur Laufzeit verwendet werden soll.

Komponenten, die als Renderer oder Editoren verwendet werden sollen, in denen Elemente abgelegt werden können, müssen die IDropInListItemRenderer-Schnittstelle implementieren. Viele Flex-Komponenten implementieren diese Schnittstelle und können daher in einer Spalte oder Liste als Renderer oder Editoren verwendet werden, in denen Elemente abgelegt werden können.

Renderer oder Editoren, in denen Elemente abgelegt werden können, müssen auch die IDataRenderer-Schnittstelle implementieren, um die data-Eigenschaft zu definieren.

Wenn eine Komponente als Elementrenderer oder Elementeditor, in dem Elemente abgelegt werden können, verwendet wird, initialisiert Flex die listData-Eigenschaft der Komponente mit den passenden Daten aus dem Listensteuerelement. Die Komponente kann die listData-Eigenschaft verwenden, um die data-Eigenschaft des Elementrenderers oder des Elementeditors, in dem Elemente abgelegt werden können, zu initialisieren.

Die listData-Eigenschaft ist vom Typ BaseListData, wobei die BaseListData-Klasse vier Unterklassen hat: DataGridListData, ListData, TreeListData und MenuListData. Welchen Datentyp der Wert der listData-Eigenschaft letztlich hat, hängt von dem Steuerelement ab, das den Renderer oder Editor, in dem Elemente abgelegt werden können, verwendet. Bei einem DataGrid-Steuerelement hat der Wert den Datentyp DataGridListData, bei einem List-Steuerelement den Datentyp ListData, bei einem Tree-Steuerelement den Datentyp TreeListData und bei einem Menu-Steuerelement den Datentyp MenuListData.

Das folgende Beispiel zeigt die Set-Methode für die data-Eigenschaft beim NumericStepper-Steuerelement, das die value-Eigenschaft des NumericStepper-Steuerelements basierend auf dem Wert der listData-Eigenschaft initialisiert:

    public function set data(value:Object):void
    {
      _data = value;
    
      this.value = _listData ? parseFloat(_listData.label) : Number(_data);
    
      dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE));
    }
  

Im obigen Beispiel ignoriert das NumericStepper-Steuerelement die data-Eigenschaft beim Einstellen der value-Eigenschaft des NumericStepper-Steuerelements und verwendet stattdessen die listData-Eigenschaft.

Um die IDropInListItemRenderer-Schnittstelle zu implementieren, definieren Sie eine Set- und Get-Methode zur Implementierung der listData-Eigenschaft. Die Set-Methode schreibt normalerweise den Wert der listData-Eigenschaft in eine interne Variable. Die Listenklasse weist diese Eigenschaft immer zu und legt dann das Datenproviderelement in der data-Eigenschaft fest.

Beachten Sie, dass die Set-Methode für die listData-Eigenschaft kein Ereignis auslöst. Dies ist deshalb der Fall, weil die Listenklassen immer erst listData und dann die data-Eigenschaft festlegen. Das Festlegen der data-Eigenschaft löst auch das dataChange-Ereignis aus. Sie legen listData nie für sich selbst fest, weshalb diese Eigenschaft auch kein eigenes Ereignis auslösen muss.

Die data-Set-Methode kann die invalidateProperties()-Methode aufrufen, wenn sie etwas auslöst, das eine Selbstaktualisierung des Steuerelements erforderlich macht. Der Entwickler der Komponente muss nun dafür sorgen, dass eine commitProperties()-Methode programmiert wird, um zu ermitteln, ob listData verändert wurde, und die entsprechenden Folgeschritte auszulösen.

Die Get-Methode gibt den aktuellen Wert der internen Variablen zurück, wie dem folgenden Beispiel entnommen werden kann:

    // Internal variable for the property value.
    private var _listData:BaseListData;
    
    // Make the listData property bindable.
    [Bindable("dataChange")]
    
    // Define the getter method.
    public function get listData():BaseListData
    {
      return _listData;
    }
    
    // Define the setter method,
    public function set listData(value:BaseListData):void
    {
      _listData = value;
    }
  

Verwandte API-Elemente



Öffentliche Eigenschaften
 EigenschaftDefiniert von
  listData : BaseListData
Implementiert die listData-Eigenschaft unter Verwendung von Get- und Set-Methoden.
IDropInListItemRenderer
Eigenschaftendetails

listData

Eigenschaft
listData:BaseListData

Sprachversion: ActionScript 3.0
Produktversion: Flex 3
Laufzeitversionen: Flash Player 9, AIR 1.1

Implementiert die listData-Eigenschaft unter Verwendung von Get- und Set-Methoden.



Implementierung
    public function get listData():BaseListData
    public function set listData(value:BaseListData):void




[ 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.