Scan é anglicismo de ocasião. ;-)
Preciso mesmo de gravar logo tudo, caso contrário ia mesmo por AS.
Miguel Vaz
2008/10/2 realapak <[EMAIL PROTECTED]>
>
> Não ainda... Talvez daqui a uns meses...
>
> "Scan" vens de fox? lol
>
> Precisas de gravar logo os dados na BD? Se não for por não colocas o
> rank através de AS?
>
> On 2 Out, 12:18, "Miguel Vaz" <[EMAIL PROTECTED]> wrote:
> > Não precisei fazer cálculos de posição, resolvi de uma forma talvez mais
> > "criativa":
> >
> > - ao iniciar o drag, apanho os dados do item arrastado
> > - no dragcomplete, faço um scan ao dataprovider da datagrid para
> descobrir a
> > posicao onde esse item caiu
> > - como gravo os dados na BD, faço um remotecall e faço os cálculos no
> > servidor para atribuir o novo rank ao item arrastado a reflectir as
> > alterações na tabela de dados (sei o rank de origem e rank de destino, o
> que
> > torna fácil).
> >
> > Foi bastante linear o processo. Só fiquei na dúvida se existiria alguma
> > forma mais elegante a nível de AS. :-)
> >
> > Obrigado de qualquer forma.
> >
> > Realpak: já estás novamente a desenvolver flex?
> >
> > Miguel Vaz
> >
> > 2008/10/2 realapak <[EMAIL PROTECTED]>
> >
> >
> >
> > > Boas miguel,
> >
> > > Eu acho que se não tiveres a location onde é feito o drop (x,y) não
> > > podes efectuar calculos para saber onde o objecto cai e
> > > consequentemente linha.
> > > Tens de receber o x e o y e verificar o estado corrente da grid e só
> > > depois colocar ou alterar o que quer que seja acho eu.
> >
> > > On 1 Out, 23:45, "Miguel Vaz" <[EMAIL PROTECTED]> wrote:
> > > > Boa noite,
> >
> > > > Estou a resolver um problema para o qual me parece que exista algum
> > > processo
> > > > bem mais simples:
> >
> > > > - Tenho uma datagrid com dragEnabled="true" dragMoveEnabled="true"
> > > > dropEnabled="true"
> > > > - Pretendo apenas reordenar os seus items arrastando-os de posição.
> >
> > > > A datagrid faz isso nativamente, mas tenho um campo no dataprovider
> que é
> > > o
> > > > "rank", o qual quero actualizar sempre que algum item é movido de
> sítio.
> >
> > > > A forma que estou a utilizar para resolver é:
> >
> > > > Adicionar à datagrid dragDrop="cair(event);"
> >
> > > > private function cair(evt:DragEvent):void{
> >
> > > > var source:Object = evt.dragSource.dataForFormat('items') as Array;
> //
> > > com
> > > > isto sei os dados do item que movi
> >
> > > > // crio um loop que procura a posição na datagrid do item arrastado
> e
> > > > actualiza os ranks de todos os items maiores (em posição na
> datagrid),
> > > > incluindo o arrastado.
> >
> > > > }
> >
> > > > Como exemplo:
> >
> > > > Datagrid inicial:
> >
> > > > 1 noticia teste
> > > > 2 outra noticia
> > > > 3 ainda outra
> >
> > > > Arrasto a noticia de rank 3 para entre o rank 1 e rank 2, ficando:
> >
> > > > 1 noticia teste
> > > > 3 ainda outra
> > > > 2 outra noticia
> >
> > > > O loop vai procurar o item de rank 3, descobre que está na posicao 1
> da
> > > > datagrid, actualiza o rank 3 para rank 2 e o rank 2 para rank 3.
> Vivem
> > > > felizes para sempre.
> >
> > > > Pergunto se existe alguma forma mais fácil de saber a posição onde o
> item
> > > é
> > > > deixado. Pelo que li nos docs e online, é sempre possivel saber o
> item
> > > > arrastado, de onde vem, para que componente vai, mas nada sobre a
> posição
> > > > onde é feito o drop.
> >
> > > > Pelo source code do datagrid, vejo que são feitos cálculos pela
> posição
> > > do
> > > > drop no x,y, mas parece-me um pouco desnecessário estar a tentar
> refazer
> > > > algo assim.
> >
> > > > Alguma sugestão diferente do meu método?
> >
> > > > Muito obrigado.
> >
> > > > Miguel Vaz
> >
>
--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
Para enviar mensagens para este grupo, envie um email para
[email protected]
Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
Para mais opções, visite este grupo em
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---