DClick

Componente: BindByField


Toda vez é a mesma coisa. Tomemos o ComboBox e o DataGrid como exemplo. Você precisa selecionar um item no primeiro de acordo com o Item selecionado no segundo, mas você não pode usar o DataBinding simplesmente ligando as propriedades "selectedIndex" ou "selectedItem". Você provavelmente terá que fazer um laço para selecionar o item no ComboBox que tenha uma propriedade cujo valor é igual ao valor da mesma propriedade do item selecionado no DataGrid.

E lá vem o trecho de código repetido inúmeras vezes:

Actionscript:
  1. /*
  2. Seleciona o item no ComboBox que tenha uma propriedade cujo valor
  3. é igual ao valor da mesma propriedade do item selecionado no DataGrid
  4. */
  5. private function matchComboItem():void
  6. {
  7.     var matchField:String = "rowId";
  8.     for each (var item:Object in cb.dataProvider)
  9.     {
  10.         if (item[matchField] == dg.selectedItem[matchField])
  11.         {
  12.             cb.selectedItem = item;
  13.             break;
  14.         }
  15.     }
  16. }

Sim, o código é simples! Mas para quê ficar repetindo isto toda vez? Pois bem, por isto eu resolvi fazer o componente BindByField. No lugar do trecho de código acima você simplesmente usa:

XML:
  1. <BindByField source="dg.selectedItem" destination="cb.selectedItem" field="rowId"/>

Tal como é claro na sintaxe (ou pelo menos deveria ser) o que você está fazendo é ligando (bindando como muitos gostam de falar) a propriedade "selectedItem" de um ComboBox à propriedade "selectedItem" de um DataGrid através do campo "rowId". Veja o exemplo com código fonte:

Por Beck Novaes em 28/August/2007 | Comentar | Trackback


No Translations

4 comentários para “Componente: BindByField”


Meu primeiro comentário: Show d boooola…hehe


Não é nenhum “showDown” ou “moveRose”, mas quebra o galho. Hehehe!


Cadê o componente para fazer o download?


Olá Alberto,

Botão Direito na Aplicação Exemplo -> View Source.

Adicionar comentário

(requerido)
(requerido, não será publicado)