Desculpem os repetidos posts, mas é que encontrei uma excelente
solução aquí:
http://www.mail-archive.com/[email protected]/msg92710.html

este é o cód:

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
xmlns:local="*" creationComplete="inicializar()">
        <mx:Script>
                <![CDATA[
                        import mx.collections.ArrayCollection;
                        import mx.controls.Alert;
                        import mx.events.DataGridEvent;
                        [Bindable]
                        private var produtosAdobe:ArrayCollection = new 
ArrayCollection([
                                {nome: 'Flash Player 9', cor: 'Vermelho'},
                                {nome: '', cor: 'Vermelho'},
                                {nome: 'Flex 3', cor: 'Preto'},
                                {nome: 'Flex Builder', cor: ''}
                        ]);
                        private function inicializar():void{
                                
_dataProvider.addEventListener(DataGridEvent.ITEM_EDIT_BEGINNING,
handleEditBeginning);
                        }
                        private function 
handleEditBeginning(evt:DataGridEvent):void{
                                if(evt.itemRenderer.data[evt.dataField] != ""){
                                        evt.preventDefault();
                                }
                        }
                ]]>
        </mx:Script>
        <mx:DataGrid dataProvider="{produtosAdobe}" editable="true"
id="_dataProvider" />
</mx:Application>


Obrigado a quem ajudou.


On 16 jun, 07:59, Leonardo Oliveira <[email protected]>
wrote:
> Bom, o que quero fazer é saber se naquela célula não há valores. A
> célula só será editável se não houver valor. Tem como fazer isso no
> datagrid?
>
> On 15 jun, 16:38, Leonardo Oliveira <[email protected]>
> wrote:
>
>
>
>
>
>
>
> > Beleza pessoal, obrigado pelas respostas. Resolveu, mas gostaria de
> > imendar outra pergunta. Em um datagrid normal, como pego os dados por
> > coordenadas, tipo, valor da linha 2, coluna 3?
>
> > On 15 jun, 11:46, Clayton <[email protected]> wrote:
>
> > > Tem uma thread que tratou sobre isso.
>
> > > O assunto foi: "*Pegar propriedad​es de uma aplicação*"
>
> > > Acho que a resposta do Mário Júnior vai resolver pra você.
>
> > > Pesquisa ai que vc vai encontrar.
>
> > > Em 15 de junho de 2011 07:32, Leonardo Oliveira <
> > > [email protected]> escreveu:
>
> > > > Pessoal, to com uma dúvida aquí e gostaria da ajuda de vocês.
> > > > Tenho um result event que traz do banco uma lista de objetos, porém
> > > > estes objetos possuem quantidade de atributos variáveis. Então a
> > > > dúvida é: como percorro os atributos dos objetos pegando o nome do
> > > > atributo e seu respectivo valor?
> > > > Exemplo:
> > > > Hora posso ter:
> > > > evt.result.source = []
> > > >    [0] = Object()
> > > >        codigo = "123"
> > > >        descricao = "Produto teste"
> > > >        1-Tabela normal = "5,75"
> > > >        37-Especial venda palm = ""
> > > >    [1] = Object()
> > > >    [2] = Object()
> > > > (...)
>
> > > > Em outro momento posso ter:
> > > > evt.result.source = []
> > > >    [0] = Object()
> > > >        codigo = "123"
> > > >        descricao = "Produto teste"
> > > >        1-Tabela normal = "5,75"
> > > >        2-Tabela venda prazo = "6,23"
> > > >        37-Especial venda palm = ""
> > > >        39-Interestadual = "7,00"
> > > >    [1] = Object()
> > > >    [2] = Object()
> > > > (...)
>
> > > > Então preciso da descrição do campo (assim com o split pego o código
> > > > da tabela) e do valor. Ou seja, no meu result event estou percorrendo
> > > > um loop para os objetos, agora, como fazer para percorrer os atributos
> > > > do objeto? Tipo (só para exemplificar):
> > > > for(var i:uint=0; i<_dgTabelas.dataProvider.source.length; i++){
> > > >    var objeto:Object = _dgTabelas.dataProvider.source[i];
> > > >    for(var j:uint=0 j<objeto.length; j++){
> > > >        //aquí pego nome do parâmetro do objeto na posição j
> > > >        //e valor do parâmetro do objeto na posição j
> > > >    }
> > > > }
>
> > > > Espero ter sido bastante claro. Obrigado a quem puder ajudar.
>
> > > > --
> > > > 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 emhttp://groups.google.com/group/flexdev
>
> > > --
> > > Clayton Marques Pereira

-- 
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