Vicente,

    Obrigado pela resposta e pelas dicas.
    Quanto ao checkbox, cara, eu me sinto um idiota em não ter percebido 
antes o meu erro:
    antes -    selected="{(data.inativo == 't')}"
    agora -    selected="{(data.inativo == 't' || data.inativo == 'true')}"

    Quanto ao acesso aos dados, quero consolidar meus conhecimentos em 
Flex e por enquanto, vou manter o PHP + XML.
    No próximo semestre tenho a disciplina de Java então, devo migrar 
para Java.

    Aproveitando... webORB alguém já viu?

    abraços,

    Marcello

Vicente Maciel Junior escreveu:
> Marcelo,
>
> A discussão sobre o checkbox no datagrid já foi bastante discutida 
> aqui, então se você der uma pesquisada nas mensagens anteriores quanto 
> a "itemRenderer", "itemEditor" e a propriedade 'rendererIsEditor' do 
> DataGridColumn, você vai encontrar ótimos conteúdos a respeito. Seu 
> foco, nesse caso específico deve direcionar a estudar o "itemRenderer" 
> e a propriedade "itemRendererIsEditor" que citei. Mas aproveite para 
> etudar o "itemEditor" e compreender bem a coisa. Tem uma mensagem do 
> Beck que é excelente a respeito. Não é uma questão tão complexa de se 
> resolver. Se permanecerem as duvidas a respeito, a galera aqui é das 
> melhores para tentar ajudar.
>
> Quanto a ArrayCollection e XMLList, seja utilizando AMF, HTTPRequest 
> ou WebService, você sempre poderá utilizar ambos. Não é 
> especificamente essa a questão que deve direcionar sua decisão e sim 
> como você vai (ou pode) consumir os dados que forem retornados por 
> eles. O que realmente muda é o esforço (lógica) que você vai ter que 
> aplicar para trabalhar com um tipo de dados ou outro em cada situação.
>
> Eu, particularmente, sempre que possível - e muitas vezes procuro 
> tornar isso possivel, quando a situação presente já não é essa - uso 
> AMF (no meu caso com o LiveCycle no ColdFusion) me trazendo objetos 
> (uma array destes objetos) que são traduzidos para os objetos 
> representados por outras classes no lado do Flex. Vide o MetaData 
> "RemoteAlias" à ser aplicado nas classes que representarão os dados 
> provenientes do server-side através de AMF. Realmente, trabalhando com 
> AMF você acaba sendo incentivado a lidar com ArrayCollection. Mas isso 
> não é ia restrição, ok?
>
> Outro detalhe importante é não ligar o formato dos dados ao seu 
> problema com o "itemEditor/itemRenderer". Com ambos os formatos de 
> fonte de dados para o DataGrid, isso é plenamente funcional.
>
> Veja abaixo um exemplo pra te ajudar:
>
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; 
> layout="vertical">
> <mx:Script>
> <![CDATA[
> import mx.controls.Alert;
> ]]>
> </mx:Script>
> <mx:Script>
> <![CDATA[
> import mx.collections.ArrayCollection;
> [Bindable] private var xmlDataProvider:XMLList =
> <> 
> <item name="item 0" selected="false"/>
> <item name="item 1" selected="false"/>
> <item name="item 2" selected="false"/>
> <item name="item 3" selected="false"/>
> <item name="item 4" selected="false"/>
> <item name="item 5" selected="false"/>
> <item name="item 6" selected="false"/>
> <item name="item 7" selected="false"/>
> <item name="item 8" selected="false"/>
> <item name="item 8" selected="false"/>
> <item name="item 10" selected="false"/>
> <item name="item 11" selected="false"/>
> </>;
> [Bindable] private var arrayCollectionDataProvider:ArrayCollection = 
> new ArrayCollection(
> [
> {name: "item 0", selected: false},
> {name: "item 1", selected: false},
> {name: "item 2", selected: false},
> {name: "item 3", selected: false},
> {name: "item 4", selected: false},
> {name: "item 5", selected: false},
> {name: "item 6", selected: false},
> {name: "item 7", selected: false},
> {name: "item 8", selected: false},
> {name: "item 9", selected: false},
> {name: "item 10", selected: false},
> {name: "item 11", selected: false},
> ]
> );
> ]]>
> </mx:Script>
> <mx:DataGrid id="dgXML" dataProvider="{xmlDataProvider}" rowCount="5" 
> editable="true">
> <mx:columns>
> <mx:DataGridColumn id="dgcXmlName" headerText="name" dataField="@name"/>
> <mx:DataGridColumn id="dgcXmlSelected" 
> headerText="selected" 
> editable="true" 
> dataField="@selected"
> editorDataField="selected"
> rendererIsEditor="true"
> >
> <mx:itemRenderer>
> <mx:Component>
> <mx:CheckBox selected="{([EMAIL PROTECTED] == 'true')}"/>
> </mx:Component>
> </mx:itemRenderer>
> </mx:DataGridColumn>
> </mx:columns>
> </mx:DataGrid>
> <mx:DataGrid id="dgArrayCollection" 
> dataProvider="{arrayCollectionDataProvider}" rowCount="5" editable="true">
> <mx:columns>
> <mx:DataGridColumn id="dgcACollName" headerText="name" dataField="name"/>
> <mx:DataGridColumn id="dgcACollSelected" 
> headerText="selected" 
> editable="true"
> dataField="selected"
> editorDataField="selected"
> rendererIsEditor="true"
> >
> <mx:itemRenderer>
> <mx:Component>
> <mx:CheckBox selected="{data.selected}"/>
> </mx:Component>
> </mx:itemRenderer>
> </mx:DataGridColumn>
> </mx:columns>
> </mx:DataGrid>
> </mx:Application>
>
>
>
>
> 2008/10/21 Marcello Fontolan <[EMAIL PROTECTED] 
> <mailto:[EMAIL PROTECTED]>>
>
>
>        Pessoal, boa tarde,
>
>        Tem dois assuntos me tirando o sono e até, de certa forma, me
>     desanimando...
>        Um surgiu da dúvida do outro e vou compartilhar, claro que na
>     esperança de alguma ajuda.
>
>        Procurei muito sobre como colocar um CheckBox dentro de um DataGrid
>     e consegui fazer ele aparecer corretamente e mostrar seu estado.
>        Meus problemas começaram quando tentei fazer com que os dados
>     fossem
>     alterados através dele.
>        PS: o campo que contem o estado vem o Postgres, na forma de "T"
>     ou "F".
>        Vi inúmeros exemplos, com formas diferentes de fazer porém, não
>     consegui implementar.
>        Alguns descrevem a implementação apenas com componentes do Flex,
>     outros criam componentes para Render e até um novo DataGrid eu vi!
>
>        Então, vendo alguns exemplos, descobri que muita gente usa
>     ArrayCollection...
>
>        Estou usando atualmente os dados na forma de XMLList, sempre
>     obtidas
>     através de HTTPRequest porém, acredito que para usar algo como AMFPHP,
>     webORB ou BlazeDS a forma correta seria uma ArrayCollection dos
>     objetos.
>        Sei que a resposta é subjetiva pois depende de como cada um resolve
>     fazer sua aplicação, mas é justamente isto que gostaria, de estimular
>     uma pequena discussão sobre como as coisas são feitas.
>
>        Abraços a todos,
>
>        Marcello Fontolan
>
>
>
>
>
>
> -- 
> Vicente Maciel Junior
> Independent Web Developer & Consultant
> Adobe Advanced Certified Developer
> Adobe Certified Instructor (ColdFusion & Flash Platform)
> +55 71 9212-0909 / 8120-0035
> MSN: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> / Twitter: macieljr
> http://teclandoalto.blogspot.com
>
> >


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