É 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
