blz clayton, deu certo obrigado. a function estava private, mudei para public e funcionou. agora tá aparecendo um erro estranho que é o seguinte: na grid eu clico no botão para fazer uma operação e o resultado daquela linha aparecer em uma outra grid e em outro state. Quando eu clico no botão a operação no banco é feita mas ai na mudança de state aparece a seguinte mensagem:
TypeError: Error #1034: Falha de coerção de tipo: não é possível converter mx.utils::objectpr...@d5691a9 em mx.collections.ArrayCollection. at proRelatorioCorregedoria/BuscaRelatoriosFechados()[C:\Documents and Settings\collin\My Documents\Flex Builder 3\proRelatorioCorregedoria\src\proRelatorioCorregedoria.mxml:82] at proRelatorioCorregedoria/__relatoriosFechados_result()[C:\Documents and Settings\collin\My Documents\Flex Builder 3\proRelatorioCorregedoria\src\proRelatorioCorregedoria.mxml:99] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at mx.rpc.http.mxml::HTTPService/ http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()[E :\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\http\mxml\HTTPService.as:275] at mx.rpc::AbstractInvoker/ http://www.adobe.com/2006/flex/mx/internal::resultHandler()[E :\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:191] at mx.rpc::Responder/result()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:41] at mx.rpc::AsyncRequest/acknowledge()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74] at DirectHTTPMessageResponder/completeHandler()[E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:381] at flash.events::EventDispatcher/dispatchEventFunction() e a grid do outro state fica comm conteúdo vazio. a linha 82 referente é uma atribuição de um objeto array collection ao event.result que vem da busca do dado. sabe o que pode ser? 2009/12/17 Clayton <[email protected]> > é outerDocument mesmo. > Uso desta forma. > Nota: o que será acessado fora do itenrederer pelo itenrenderer deve ser > public, seja function, var, const,etc... > > Ficaria assim no botão. > > <itemRenderer> > <Component> > <botao click="outerDocument.EnviaRelatorio()"/> > </Component> > </itemRenderer> > > 2009/12/17 Collin Peterson Mendes Chaves <[email protected]> > >> o nome do objeto é outerDocument mesmo? pq coloquei >> outerDocument.EnviaRelatorio() e apareceu o seguinte erro: >> >> Severity and Description Path Resource Location Creation Time Id >> 1195: Attempted access of inaccessible method EnviaRelatorio through a >> reference with static type >> proRelatorioCorregedoria. proRelatorioCorregedoria/src >> proRelatorioCorregedoria.mxml line >> 193 1261081684343 3244 >> >> >> >> 2009/12/17 Clayton <[email protected]> >> >>> Ok. >>> Agora ficou fácil >>> No evento click do botão deve estar outerDocument.EnviaRelatorio(). >>> Isto porque se trata de um itenrenderer, e o flex entend ele como um >>> objeto externo. >>> >>> 2009/12/17 Collin Peterson Mendes Chaves <[email protected]> >>> >>>> ele não tá reconhecendo é a função >>>> >>>> public function EnviaRelatorio():void{ >>>> >>>> enviaRelatorio.send() >>>> } >>>> >>>> que coloco no botão, ou seja, todos os botões que~aparecem na linha do >>>> grid no click chamaria essa função >>>> >>>> >>>> 2009/12/17 Clayton <[email protected]> >>>> >>>>> Não tenho experiência com HTTPService, mas,pelo erro, parece que não >>>>> está acessando o enviaRelatorio.asp, ou oq está do lado do servidor não >>>>> está >>>>> reconhecendo o serviço solicitado. >>>>> >>>>> >>>>> >>>>> 2009/12/17 Collin Peterson Mendes Chaves <[email protected]> >>>>> >>>>>> oi clayton, obrigado pela dica, mas olha só o que tá acontecendo: eu >>>>>> tenho o seguinte código que utilizo para passar o dado da linha >>>>>> >>>>>> <mx:HTTPService >>>>>> id="enviaRelatorio" url="bd/enviaRelatorios.asp" method="POST" >>>>>> fault="erroEnvia(event)"> >>>>>> <mx:request xmlns=""> >>>>>> <idrelatorio>{dgAberto.selectedItem.idrelatorio}</idrelatorio> >>>>>> </mx:request> >>>>>> </mx:HTTPService> >>>>>> >>>>>> eu criei uma função para dar um send no código acima: >>>>>> enviaRelatorio.send() >>>>>> >>>>>> a função eu coloco no click do botão só que aparece o seguinte erro: >>>>>> 1180: Call to a possibly undefined method >>>>>> EnviaRelatorio. proRelatorioCorregedoria/src >>>>>> proRelatorioCorregedoria.mxml line >>>>>> 193 1261078340156 3243 >>>>>> ou seja, ele não reconhece a função. o que estou fazendo de errado? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> 2009/12/17 Clayton <[email protected]> >>>>>> >>>>>> Quando vocêclica no botão a linha do grid também é selecionada, >>>>>>> então basta utilizar o grid.selectedItem. >>>>>>> Ou você pode customizar o botão criando nele uma propriedade que é o >>>>>>> objeto da linha do grid e alimentá-lo com data, e no currentTarget >>>>>>> doevento >>>>>>> vc terá o objeto. >>>>>>> >>>>>>> 2009/12/17 Collin Peterson Mendes Chaves <[email protected]> >>>>>>> >>>>>>>> pessoal, estou com um problema, na verdade uma dúvida: eu tenho um >>>>>>>> data grid que eu alimento com algumas informações e em cada linha >>>>>>>> dessas >>>>>>>> informações eu tenho um botão. eu quero clicar no botão e atualizar >>>>>>>> informações da linha ao qual ele se refere. não sei se me fiz >>>>>>>> entender, o >>>>>>>> que gostaria de saber é como eu associo o botão a linha na grid que >>>>>>>> ele faz >>>>>>>> parte, já que tenho vários botões no grid? >>>>>>>> >>>>>>>> -- >>>>>>>> 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 >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> 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 >>>>>> >>>>>> >>>>>> -- >>>>>> 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 >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> 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 >>>>> >>>> >>>> -- >>>> 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 >>>> >>> >>> >>> >>> -- >>> 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 >>> >> >> -- >> 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 >> > > > > -- > 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 > -- 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
