Пакет | mx.controls.listClasses |
Интерфейс | public interface IDropInListItemRenderer |
Средство реализации | AdvancedDataGridGroupItemRenderer, AdvancedDataGridHeaderRenderer, AdvancedDataGridItemRenderer, AdvancedListBase, Button, ComboBox, DataGridItemRenderer, DateField, FTEAdvancedDataGridItemRenderer, FTEDataGridItemRenderer, HTML, Image, Label, ListBase, ListItemRenderer, MXAdvancedDataGridItemRenderer, MXItemRenderer, MenuItemRenderer, NumericStepper, OLAPDataGridGroupRenderer, RendererBase, TextArea, TileListItemRenderer, TreeItemRenderer |
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
text
. Эту операцию проще всего описать с помощью привязки данных, но при этом средство визуализации будет невозможно использовать в других столбцах сетки данных или другого списка с другими полями. Элемент IDropInListItemRenderer допускает повторное использование средства визуализации. Классы списка будут передавать больший объем данных в средство визуализации элементов, что позволит ему определить поле, используемое во время выполнения.
Компоненты, которые необходимо использовать в качестве средств визуализации или редакторов вставных элементов, должны реализовывать интерфейс IDropInListItemRenderer. Многие компоненты Flex реализуют данный интерфейс и поэтому могут быть использованы в качестве средств визуализации или редакторов вставных элементов в любом столбце или списке.
Средства визуализации или редакторы вставных элементов также должны реализовывать интерфейс IDataRenderer, определяющий свойство data
.
Если компонент используется в качестве средства визуализации или редактора вставных элементов, то Flex инициализирует свойство компонента listData
соответствующими данными из элемента управления списка. Затем компонент может использовать свойство listData
для инициализации свойства data
средства визуализации или редактора вставных объектов.
Свойство listData
имеет тип BaseListData, а класс BaseListData имеет четыре подкласса: DataGridListData, ListData, TreeListData и MenuListData. Текущий тип данных значения свойства listData
зависит от элемента управления, который использует средство визуализации или редактор вставных объектов. Для элемента управления DataGrid значение имеет тип DataGridListData, для элемента управления List – тип ListData, для элемента управления Tree – тип TreeListData, а для элемента управления Menu – тип MenuListData.
В следующем примере показан метод установщика для свойства data
элемента управления NumericStepper, которое инициализирует свойство NumericStepper value
в зависимости от значения свойства listData
:
public function set data(value:Object):void { _data = value; this.value = _listData ? parseFloat(_listData.label) : Number(_data); dispatchEvent(new FlexEvent(FlexEvent.DATA_CHANGE)); }
В приведенном выше примере элемент управления NumericStepper игнорирует свойство data
при задании свойства NumericStepper value
и использует вместо него свойство listData
.
Для реализации интерфейса IDropInListItemRenderer следует определить методы установщика и получателя, которые реализуют свойство listData
. Метод установщика обычно записывает значение свойства listData
во внутреннюю переменную. Класс списка обычно присваивает это значение, а затем устанавливает элемент поставщика данных в свойстве data
.
Обратите внимание на то, что метод установщика для свойства listData
не осуществляет передачу событий. Это обусловлено тем, что классы списка всегда задают свойство listData
, а затем – свойство data
. Задание свойства data
также влечет за собой передачу события dataChange
. Свойство listData
никогда не задается отдельно, поэтому необходимость в передаче собственного события отсутствует.
Метод установщика data
может вызвать метод invalidateProperties()
, если в ходе его выполнения возникает необходимость в обновлении элемента управления. Разработчик компонента должен предусмотреть метод commitProperties()
, который обнаруживает изменение свойства listData
и выполняет соответствующие действия.
Метод получателя возвращает текущее значение внутренней переменной, как показано в следующем примере:
// 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; }
Связанные элементы API
Свойство | Определено | ||
---|---|---|---|
listData : BaseListData
Реализует свойство listData с помощью методов установщика и получателя. | IDropInListItemRenderer |
listData | свойство |
listData:BaseListData
Язык версии: | ActionScript 3.0 |
Версия продукта: | Flex 3 |
Версии среды выполнения: | Flash Player 9, AIR 1.1 |
Реализует свойство listData
с помощью методов установщика и получателя.
Реализация
public function get listData():BaseListData
public function set listData(value:BaseListData):void
Tue Jun 12 2018, 11:34 AM Z