É q no caso da tree, cada item pode ser representado por um TreeRenderer.
Já no seu caso, é um pouco mais complexo, pois renderers são criados por
coluna, e nao por linha.

Entao, se vc for pelo mesmo lado q optei em ir (controlar o drag via
dragmanager, direto pelo renderer) singnifica q para o usuario poder fazer o
DD da forma q é feito hoje (clicar em qualquer coluna) vc teria q fazer
renderers para todas as colunas. Tudo bem que dá para criar um renderer só e
usar o mesmo nas colunas mas usar um renderer para todas as colunas seria
inviavel para seu caso (e desperdício tb).

Por isso que vc precisa analisar bem se essa seria a solucao ideal.

[]s





Em 6 de abril de 2010 22:10, RafaelViana <[email protected]> escreveu:

> Legal a opinião, vou tentar ir por esse lado mesmo.
>
> Não entendi esse comentário:
>
> " Se for pra esse lado, só precisa tomar cuidado na criacao dos
> renderers para
> q eles nao se tornem um gargalo na hora de exibir listas grandes. "
>
> Quais renderers você está falando?
>
> On 6 abr, 21:41, Mário Júnior <[email protected]> wrote:
> > Entao... tive um problema parecido, mas era com a tree.
> > Eu precisava validar o "galho" da tree... se ele "aceitava ou nao"
> objetos
> > do tipo do node q tinha sido "dragado".
> > Essa maldita linha nunca sumia... e além do mais, esse processo de
> validacao
> > numa tree não dava certo pq a tree usa sempre o mesmo dragSource para
> todos
> > os itens arrastados ("treeItem"). E minha tree tinha vários tipos de
> galhos
> > e nodes, conforme o tipo de objeto.
> >
> > Sabe entao qual foi a solucao ideal?
> > - Desabilitar o drag da tree.
> > - Tratar os drags/drops diretamente nos TreeRenderers usando a
> DragManager.
> > - Dessa forma conseguir fazer o processo de validacao como queria e
> tratar o
> > drag-n-drop do jeito que queria.
> >
> > Se for pra esse lado, só precisa tomar cuidado na criacao dos renderers
> para
> > q eles nao se tornem um gargalo na hora de exibir listas grandes.
> >
> > []s
> >
> > Em 6 de abril de 2010 18:42, RafaelViana <[email protected]> escreveu:
> >
> >
> >
> >
> >
> > > Deixa eu tentar explicar:
> >
> > > Quando se tem um componente que já possui o drag'n drop habilitado por
> > > padrão, se você habilitar as propriedades dragEnabled de uma lista e
> > > dropEnabled da outra lista, vai permitir você arrastar itens da 1°
> > > para a 2°.
> > > Porém, ou item o item continuará na 1° e passaria a existir também na
> > > 2°, com a propriedade dragMoveEnabled ele iria deixar de existir na 1°
> > > e passaria a existir apenas na 2°.
> > > Mas isso não entra muito na aplicação que fiz.
> >
> > > -------------
> >
> > > A minha situação está assim, resumidamente.
> >
> > > Tenho três datagrids que contem listas de itens com uma propriedade
> > > que guarda o valor de excesso deste.
> >
> > > Lista 1
> > > Produto | Valor | Excesso
> > > 1         10,00    2,00
> > > 2         15,00    1,00
> > > 3         17,00    0,50
> > > ...
> >
> > > E faço o drop dos excessos em listas que armazenarão todos os
> > > excessos.
> >
> > > Produto | Excesso
> > > 1          2,00
> > > 2          0,50
> >
> > > Também pode haver mais de uma lista: (destino)
> >
> > > Produto | Excesso
> > > 2         0,50
> > > 3         0,50
> >
> > > E a lista 1 de produtos fica assim: (jogo os excessos para algum
> > > destino)
> >
> > > Produto | Valor | Excesso
> > > 1         10,00    0,00
> > > 2         15,00    0,00
> > > 3         17,00    0,00
> > > ...
> >
> > > Então, eu não jogo o objeto inteiro dentro do grid e sim o valor, e
> > > nem sempre é o valor integral.Posso dividir em mais de um destino.
> > > Esse agrupamento e manipulação das informações faço no Java (por
> > > possuir uma perfomance maior)
> >
> > > Então como fica a logistica:
> >
> > > Ao fazer o drop na lista de destino (dos excessos), eu abro uma window
> > > na qual possue todos os objetos selecionado e um itemEditor para que
> > > eu possoa selecionar qual valor será passado adiante (já que nem
> > > sempre é integral), e após concluir as ações na window eu chamo um
> > > método do java que irá calcular todos os valores e recriar as listas.
> >
> > > Como eu sempre recrio a lista com os novos valores, não preciso que
> > > fazer o moveEnabled. NEM POSSO, porque são objetos diferentes e daria
> > > erro na labelFunction.
> >
> > > Se eu tivesse a propriedade habiltada iria mover os itens para a grid,
> > > antes de abrir ou durante as minhas ações na janela.
> >
> > > Pensei que tivesse algum método que retirasse esse graphic.
> >
> > > Se não houver (como acho que não tem).
> >
> > > Vou implementar esse processo do drag'n drop manualmente (sem utilizar
> > > as propriedades dragEnabled e dropEnabled), acho que assim ocorrerá
> > > tudo corretamente.
> >
> > > Obrigado pela atenção,
> > > E se houver alguma maneira de apagar aquela linha seria bem útil :D
> >
> > > On 6 abr, 18:19, Gabriela Trindade Perry <[email protected]>
> > > wrote:
> > > > como assim "o item faz o drop no grid"?
> > > > Será que não é o caso de usar as propriedades moveenable, copyenable
> e
> > > > etc (as mesmas que pediste para setar como true no exemplo do
> > > > flexexamples).
> > > > as únicas vezes em que usei prevent default para drag é quando a
> > > > operação era em containers. quando é em lists não imagino porque
> usar.
> >
> > > --
> > > 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 emhttp://groups.google.com/group/flexdev
> >
> > > To unsubscribe, reply using "remove me" as the subject.
> >
> > --
> > Mario Juniorhttp://blog.mariojunior.com/
> > @mariojunior
>
> --
> 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
>



-- 
Mario Junior
http://blog.mariojunior.com/
@mariojunior

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

Responder a