Fala Pedrão... blz? (estás em cgr??)

Bom... o erro nao é por causa do Bindable, nem por causa direta do datagrid
mas é por causa do selectedItem.
Acontece que vc está vinculando assim:

[Bindable] var minha_var:Number = Grid_clientes.selectedItem.codigo

Só que ao iniciar um datagrid, (mesmo com dados preenchidos) o *selectedItem
*é nulo, pelo simples fato de que nenhum item ainda foi selecionado no
grid!!! =D

Em tempo de execução (runtime) o player vai "interpretar" da seguinte forma:

[Bindable] var minha_var:Number = Grid_clientes.*null*.*codigo*
Oooppss!!! Nao pode acessar o atributo "codigo" de um objeto null, por isso
o player lança o erro! =P


Entao.. solução tem várias, desde um simples ternário, passando por
<mx:Binding> (como a proposta do Kraus), ou até mesmo usar ChangeWatcher....
enfim... tenta com um ternario, acho q já o suficiente para seu caso:

[Bindable]
var minha_var:Number = ((Grid_clientes.selectedItem != null) ?
Grid_clientes.selectedItem.codigo : 0);


Abraços.








2009/9/9 Eduardo Kraus <[email protected]>

>
>
>  Você esta no caminho certo, mais falta pouco.
>
> A sua variavel que sempre tem que estar atualizada
> [Bindable]
> var minha_var:Number
>
> no MXML
> <mx:Binding source="{Grid_clientes.selectedItem.codigo}"
> destination="minha_var"/>
>
> Agora tem que funcionar.
>
>   *Eduardo Kraus*
> Desenvolvedor
>  [email protected]
> http://blog.mxml.com.br
>
>
> 2009/9/9 Pedro Oliveira <[email protected]>
>
>> Olá pessoal !
>>
>>
>> To tentando vincular o valor de uma variável a um valor do dataprovider do
>> DataGrid, mais ou menos assim :
>>
>> [Bindable]
>> var minha_var:Number = Grid_clientes.selectedItem.codigo
>>
>> só que eu faço a declaração dessa variável na inicialização da
>> application, antes do datagrid ser preenchido e evidentemente, dá erro;
>>
>> existe alguma maneira de declarar essa variável [Bindable] com datagrid,
>> que n seja só após o preenchimento do datagrid ?
>>
>> Por exemplo, se eu vincular o item do datagrid a um controle "Label" ou
>> "TextInput", funciona sem problemas ...
>>
>> ---> LabelCodigo.text = Grid_clientes.selectedItem.codigo   --- funciona
>>
>>
>> []s Pedro Oliveira
>>
>>
>>
>>
>
> >
>


-- 
Mario Junior
Enterprise Java / Flex Architectures
Adobe Certified Expert Flex 3 with AIR

Sofshore Informática
http://www.sofshore.com.br
+55 (48) 3337 2003
Rua Pastor Willian Richard Schisler Filho 452 sl 102, 88034-100 Itacorubi
Florianopolis SC Brasil

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para 
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a