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.f­uros.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.f­­uros.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.f­­­uros.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 - Suprasis Softwares
>
> >>>>>> <[EMAIL PROTECTED]> wrote:
>
> >>>>>>>     Olá,
>
> >>>>>>>     Existe mais de uma maneira de fazer isso. Uma delas pode ser 
> >>>>>>> assim:
> >>>>>>>     se FurosXML for um XMLList com aqueles nós "furo" vc faria:
>
> >>>>>>> for each( var umfuro:XML in FurosXML ) {
> >>>>>>>     processa o nó "umfuro" aqui. Vai iterar entre todos eles como um
> >>>>>>> "for" normal.
>
> >>>>>>> }
>
> >>>>>>>     espero que tenha ajudado.
> >>>>>>>     abraços,
> >>>>>>>     Luís Eduardo.
>
> >>>>>>> Pat escreveu:
>
> >>>>>>>> tenho um httpservice que acessa o xml com a seguinte estrutura:
>
> >>>>>>>> <produto>
> >>>>>>>>   <valor1>bla</valor1>
> >>>>>>>>   <valor2>bla</valor2>
> >>>>>>>>   <valor3>bla</valor3>
> >>>>>>>>   <furos>
> >>>>>>>>      <furo tipo='1' cego='true' />
> >>>>>>>>      <furo tipo='1' cego='true' />
> >>>>>>>>      <furo tipo='1' cego='true' />
> >>>>>>>>      <furo
>
> ...
>
> 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 flexdev@googlegroups.com
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