Tentei fazer igualzinho vc, criei o init e tudo, mas ele não aceita
<mx:Script>
<![CDATA[
public function init():void {
xmllcTratado.source =
parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo; //
meu httpservice
ou
xmllcTratado.source =
parentDocument.sql_vitrineDetalhe.lastResult.item.furos.furo; // meu
httpservice
}
]]>
</mx:Script>
ele dá esse erro, quando vou acessar a página:
TypeError: Error #1009: Cannot access a property or method of a null
object reference.
On 3 abr, 14:31, Pat <[EMAIL PROTECTED]> wrote:
> Nossa, aqui num rola!
>
> se eu deixo o lastResult.produtos, ele escreve "Furos:" 4vezes mas sem
> o valor do source (que já mudei pra src_furo, pra num dar conflito com
> as palavras do flex), se eu tiro o .produtos, ele não escreve "Furo:"
> nenhuma vez, ou seja, errado, pq eu tenho quatro tipos de Furos.
>
> On 3 abr, 14:17, Luis Eduardo - Suprasis Softwares
>
>
>
> <[EMAIL PROTECTED]> wrote:
> > Oi Pat,
>
> > Para enviar o xml do lastResult é só vc usar um trace normal e
> > copiar e colar do console. Mas vc enviou o xml direitinho! Era isso mesmo.
> > O problema, acho eu, é que o primeiro nó do lastResult, o "produtos"
> > vai se tornar o próprio lastResult, então ele não precisa ser referenciado.
> > Ficaria uma linha assim:
> > parentDocument.sql_vitrineDetalhe.lastResult.item.furos.furo
>
> > Eis o código. Qualquer coisa é só dar um grito aí.
>
> > Ah! se puder evitar usar palavras reservadas do ActionScript ou do
> > framework do Flex dentro dos XMLs pode te evitar umas dores de cabeças
> > boas. Já andei perdendo umas horas com isso. Aquela sua propriedade
> > "source" pode dar conflito se vc usar esse XML em alguns outros locais.
>
> > abraços,
> > Luís Eduardo.
>
> > ----------------
>
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Application
> > xmlns:mx="http://www.adobe.com/2006/mxml"
> > creationComplete="init()"
> > >
> > <mx:XMLList xmlns="" id="xmlCru">
> > <produtos>
> > <item>
> > <cd_referencia>204</cd_referencia>
> > <ds_referencia>109/D (3º)</ds_referencia>
> > <ds_simbolo>DIN 5157</ds_simbolo>
> > <ds_norma_pt>Rosca Whitworth para Tubo</ds_norma_pt>
> > <ds_sigla>BSP (G)</ds_sigla>
> > <ds_imagem>../../fotos/8A-204.jpg</ds_imagem>
>
> > <ds_imagem_especificacao>../../fotos/8A.gif</ds_imagem_especificacao>
> > <furos>
> > <furo source="menor_passante" />
> > <furo source="maior_passante" />
> > <furo source="menor_cego" />
> > <furo source="maior_cego" />
> > </furos>
> > </item>
> > </produtos>
> > </mx:XMLList>
>
> > <mx:XMLListCollection id="xmllcTratado"/>
>
> > <mx:Label text="Tipos de Furo"/>
> > <mx:Repeater id="rep_furo" dataProvider="{xmllcTratado}">
> > <mx:Label text="{XML(rep_furo.currentItem)[EMAIL PROTECTED]"
> > width="50" />
> > </mx:Repeater>
>
> > <mx:Script>
> > <![CDATA[
> > public function init():void {
> > xmllcTratado.source = xmlCru.item.furos.furo;
> > }
> > ]]>
> > </mx:Script>
>
> > </mx:Application>
>
> > ----------------
>
> > Pat escreveu:
>
> > > rss, desculpa aí, eu to modificando a estrutura do xml e agora já é
> > > outro nome.
>
> > > xml:
> > > <produtos>
> > > - <item>
> > > <cd_referencia>204</cd_referencia>
> > > <ds_referencia>109/D (3º)</ds_referencia>
> > > <ds_simbolo>DIN 5157</ds_simbolo>
> > > <ds_norma_pt>Rosca Whitworth para Tubo</ds_norma_pt>
> > > <ds_sigla>BSP (G)</ds_sigla>
> > > <ds_imagem>../../fotos/8A-204.jpg</ds_imagem>
> > > <ds_imagem_especificacao>../../fotos/8A.gif</
> > > ds_imagem_especificacao>
> > > - <furos>
> > > <furo source="menor_passante" />
> > > <furo source="maior_passante" />
> > > <furo source="menor_cego" />
> > > <furo source="maior_cego" />
> > > </furos>
> > > </item>
> > > </produtos>
>
> > > chamado no meu código:
>
> > > <mx:Label text="Tipos de Furo"/>
> > > <mx:Repeater id="rep_furo"
> > > dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}">
> > > <mx:Label text="{'Furo: '+ XML(rep_furo.currentItem)[EMAIL
> > > PROTECTED]"
> > > width="100%" />
> > > </mx:Repeater>
>
> > > se eu coloco pra escrever rep_furo.currentIndex, ele nomeia 0, 1, 2,
> > > 3, 4, mas assim do jeito que tah ele não escreve nada.
>
> > > num to entendendo pq =/
>
> > > sobre enviar o xml do lastResult, eu num sei como faço isso!
>
> > > On 3 abr, 13:48, Luis Eduardo - Suprasis Softwares
> > > <[EMAIL PROTECTED]> wrote:
>
> > >> Ué... o certo é "cego", "ic_cego" ou "ds_furo" ?? agora já me
> > >> perdi todo aqui! :)
> > >> Me parece que é só esse o problema. O xml de retorno vem de um jeito
> > >> e vc tenta acessar a propriedade dele de outro.
> > >> Tem como vc nos enviar o xml do lastResult do jeito que ele vem?
>
> > >> aí fica tranquilo trocar naquele código-exemplo e ver na prática.
>
> > >> abraço,
> > >> Luís Eduardo.
>
> > >> Pat escreveu:
>
> > >>> Ohh Luis, valewww heim.
>
> > >>> entendi, no meu caso nem compensa o filtro pois vou usar todos os
> > >>> registros que vem no xml, do jeitinho que vem, mas valeww, fica aí a
> > >>> dica pra quando for necessário.
>
> > >>> sobre o ic_cego, é assim qeu está no xml mesmo, eu enviei um modelo do
> > >>> meu xml, mas não respeitei os nomes naum, era mais a estrutura mesmo.
>
> > >>> agora deixei assim:
>
> > >>> <mx:Label text="Tipos de Furo"/>
> > >>> <mx:Repeater id="rep_furo"
> > >>> dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}">
> > >>> <mx:Label text="{'Furo: '+ XML(rep_furo.currentItem)[EMAIL
> > >>> PROTECTED]"
> > >>> width="50" />
> > >>> </mx:Repeater>
>
> > >>> O problema agora é que aparece Furo:, e não aparece o valor que está
> > >>> em ds_furo, sempre fica vazio.
> > >>> Sabe pq???
>
> > >>> On 3 abr, 08:54, Luis Eduardo - Suprasis Softwares
> > >>> <[EMAIL PROTECTED]> wrote:
>
> > >>>> Olá Pat,
>
> > >>>> Na linha onde vc usa: <mx:Label
> > >>>> text="[EMAIL PROTECTED]" width="50"
> > >>>> contém dois erros: o currentItem retorna um Object e não um xml,
> > >>>> por
> > >>>> isso vc recebeu o aviso do FlexBuilder dizendo "not found on Object".
> > >>>> Pra resolver isso é só fazer um cast de Object para XML.
> > >>>> O segundo erro é que no seu xml o atributo cego de um furo é
> > >>>> escrito: <furo tipo="1" cego="false"/> mas na hora de tentar
> > >>>> recuperar
> > >>>> o valor, em vez de "cego" vc usou "ic_cego".
>
> > >>>> Fiz um código de exemplo pra mostrar o que eu quis dizer com o "FOR
> > >>>> EACH" do email anterior na hora de processar um xml. Vc vai precisar
> > >>>> fazer uma adaptação aí, espero que corra tudo bem. No exemplo eu
> > >>>> filtrei
> > >>>> os furos de tipo 1, só mostrando os de tipo 2 no repeater.
>
> > >>>> abraço,
> > >>>> Luís Eduardo.
>
> > >>>> --------- código -------------
>
> > >>>> <?xml version="1.0" encoding="utf-8"?>
> > >>>> <mx:Application
> > >>>> xmlns:mx="http://www.adobe.com/2006/mxml"
> > >>>> creationComplete="init()"
>
> > >>>> <mx:XMLList xmlns="" id="xmlCru">
> > >>>> <produto>
> > >>>> <valor1>bla</valor1>
> > >>>> <valor2>bla</valor2>
> > >>>> <valor3>bla</valor3>
> > >>>> <furos>
> > >>>> <furo tipo='1' cego='true' />
> > >>>> <furo tipo='2' cego='false' />
> > >>>> <furo tipo='1' cego='true' />
> > >>>> <furo tipo='2' cego='true' />
> > >>>> </furos>
> > >>>> </produto>
> > >>>> </mx:XMLList>
>
> > >>>> <mx:XMLListCollection id="xmllcTratado"/>
>
> > >>>> <mx:Label text="Tipos de Furo"/>
> > >>>> <mx:Repeater id="rep_furo" dataProvider="{xmllcTratado}">
> > >>>> <mx:Label text="{XML(rep_furo.currentItem)[EMAIL PROTECTED]"
> > >>>> width="50" />
> > >>>> </mx:Repeater>
>
> > >>>> <mx:Script>
> > >>>> <![CDATA[
> > >>>> public function init():void {
> > >>>> for each (var furo:XML in xmlCru..furo) {
> > >>>> if (String([EMAIL PROTECTED]) == "2") {
> > >>>> xmllcTratado.addItem( furo );
> > >>>> }
> > >>>> }
> > >>>> }
> > >>>> ]]>
> > >>>> </mx:Script>
>
> > >>>> </mx:Application>
>
> > >>>> -------------------------------
>
> > >>>> Pat escreveu:
>
> > >>>>> Olha, eu tava tentando assim:
>
> > >>>>> <mx:Label text="Tipos de Furo"/>
> > >>>>> <mx:Repeater id="rep_furo"
> > >>>>> dataProvider="{parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.furos.furo}">
> > >>>>> <mx:Label text="[EMAIL PROTECTED]" width="50" />
> > >>>>> </mx:Repeater>
>
> > >>>>> mas obtenho o seguinte erro:
> > >>>>> ReferenceError: Error #1081: Property @ic_cego not found on Object and
> > >>>>> there is no default value.
>
> > >>>>> On 2 abr, 18:08, Pat <[EMAIL PROTECTED]> wrote:
>
> > >>>>>> Ixii, num entendi...
>
> > >>>>>> olha só como eu preciso:
>
> > >>>>>> <mx:VBox width="50%" height="100%">
> > >>>>>> <mx:Label text="Tipos de Furo"/>
> > >>>>>> ===> aqui eu preciso mostrar os tipos de furo do meu xml <===
>
> > >>>>>> <mx:Label text="Tipo:"/>
>
> > >>>>>> <mx:Label text="Norma:
> > >>>>>> {parentDocument.sql_vitrineDetalhe.lastResult.produtos.item.ds_simbolo}"/
>
> > >>>>>> <mx:Label text="Material e Tratamento"/>
> > >>>>>> ===> aqui eu preciso mostrar os tipos de material do meu xml <===
>
> > >>>>>> <mx:Label text="Ângulo da Hélice"/>
> > >>>>>> ===> aqui eu preciso mostrar os tipos de angulo do meu xml <===
> > >>>>>> </mx:VBox>
>
> > >>>>>> Num tem como eu colocar em um repeater e fazer um loop ali onde eu
> > >>>>>> preciso???
>
> > >>>>>> On 2 abr, 17:55, Luis Eduardo
>
> ...
>
> mais »- Ocultar texto entre aspas -
>
> - Mostrar texto entre aspas -
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---