Pacotemx.controls.listClasses
Interfacepublic interface IDropInListItemRenderer
Implementadores AdvancedDataGridGroupItemRenderer, AdvancedDataGridHeaderRenderer, AdvancedDataGridItemRenderer, AdvancedListBase, Button, ComboBox, DataGridItemRenderer, DateField, HTML, Image, Label, ListBase, ListItemRenderer, MenuItemRenderer, NumericStepper, OLAPDataGridGroupRenderer, TextArea, TextInput, TileListItemRenderer, TreeItemRenderer

A interface para representantes de itens "drop-in". A maioria dos IListItemRenderers não são "drop-in". É esperado que eles usam um campo determinado do item do data provider. Por exemplo, eles podem designar a propriedade "lastName" do item a uma propriedade text do Label. Isso é fácil de escrever usando uma atadura de dados (data-binding), mas tem a consequência negativa: o representante não pode ser re-usado em outra coluna de um DataGrid ou outro List com campos diferentes. IDropInListItemRenderer permite que um representante seja re-usado. As classes de lista passarão mais informações ao representante para que ele possa determinar que campo usar no run-time.

Componentes que você queira usar como representantes ou editores de itens drop-in devem impelementar a interface IDropInListItemRenderer. Vários componentes Flex implementam essa interface, e portanto são utilizáveis como representantes ou editores de itens drop-in em qualquer coluna ou lista.

Representantes ou editores de itens drop-in também deveriam implementar a interface IDataRenderer para definir a propriedade data.

Quando um componente é usado como representante de item drop-in ou editor de item drop-in, Flex inicializa a propriedade listData do componente com os dados apropriados do controle de lista. O componente pode então usar a propriedade listData para inicializar a propriedade data do representante de item drop-in ou editor de item drop-in.

A propriedade listData é do tipo BaseListData, onde a classe BaseListData tem quatro subclasses: DataGridListData, ListData, TreeListData, e MenuListData. O atual tipo de dados do valor da propriedade listData depende do controle usando o representante ou editor de item drop-in. Para um controle DataGrid, o valor é do tipo DataGridListData, para um controle List o valor é do tipo ListData, para um controle Tree, o valor é do tipo TreeListData, e para o controle Menu, o valor é do tipo MenuListData.

O seguinte exemplo mostra o método de ajuste para a propriedade data para o controle NumericStepper que inicializa a propriedade value do NumericStepper baseado no valor da propriedade listData:

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

No exemplo acima, o controle NumericStepper ignora a propriedade data quando ajustando a propriedade value do NumericStepper, e ao invés disso usa a propriedade listData.

Para implementar a interface IDropInListItemRenderer, você define um método que ajusta e pega para implementar a propriedade listData. Tipicamente o método de ajuste escreve o valor da propriedade listData para uma variável interna. A classe de lista sempre irá designar essa propriedade depois ajusta o item data provider na propriedade data.

Perceba que o método de ajsute para a propriedade listData não despacha um evento. Isso é porque as classes de lista sempre ajusta listData, depois ajusta a propriedade data. Ajustando a propriedade data também despacha o evento dataChange. Você nunca ajusta listData por conta própria, para que não precise despachar seu próprio evento.

O método data de ajuste chamaria o método invalidateProperties() para determinar se listData foi modificado, e manejá-lo de acordo.

O método de pegar retorna o valor atual da variável interna, como o exemplo seguinte mostra:

    // 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;
    }
  

Ver também

mx.controls.listClasses.BaseListData
mx.core.IDataRenderer


Propriedades Públicas
 PropriedadeDefinido Por
  listData : BaseListData
Implementa a propriedade listData usando métodos de pegar e ajustar.
IDropInListItemRenderer
Detalhe da Propriedade
listDatapropriedade
listData:BaseListData  [ler-escrever]

Implementos da propriedade listData usando métodos de pegar e ajustar.


Implementação
    public function get listData():BaseListData
    public function set listData(value:BaseListData):void