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