Paket | mx.controls.listClasses |
Schnittstelle | public 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 |
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
Eigenschaft | Definiert von | ||
---|---|---|---|
listData : BaseListData
Implementiert die listData-Eigenschaft unter Verwendung von Get- und Set-Methoden. | IDropInListItemRenderer |
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
Tue Jun 12 2018, 10:04 AM Z