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

Responder a