Pensa assim... é estranho pra caramba, mas até que não é confuso. 1) Você tem um ItemRenderer que é uma HBox com um checkBox dentro... simples assim. 2) Você vai lá e clica no check em tempo de execução. 3) Faz rolagem. 4) O Flex por causa do dataChange dispara um invalidate no renderer. 5) O Flex perde referencia do que tinha pois o renderer foi "resetado".
A solução... não sei... sinceramente sempre setamos as coisas diretamente no ValueObject que serve como data. Por exemplo neste caso, o ValueObject teria uma variável [Transient] chamada isSelected : Boolean, e o checkBox.selected teria um binding direto pra essa variável. Triste, mas nunca achei outro jeito de solucionar isso hehehehe... e sobre cortar o dataChange do componente, não sei... sempre parto do pre-suposto que se ele dispara é porque serve pra alguma coisa hehehehehe... On 15 abr, 13:39, Squik <[email protected]> wrote: > Nossa Cara, > > Isto é hilário e ao mesmo tempo confuso... > Mesmo que aconteça um dataChange a propriedade DATA não deveria > carregar ou pegar valores aleatórios para tratar meu componentes > renderizados se o dataGrid renderiza linha a linha.. ele deveria > manter a posição (codigo) de value (ex) e trazer o componente baseado > na operação lógica que foi criado no componente... > > Eu compreendi a idéia que tu me passou, porem (não querendo fugir do > trabalho duro he He he) mais deva existir alguma propriedade do > dataGrid que trava este dataChange por rolagem ou algo do tipo... o > que acha? > Se for o caso extender o componente a ponto de arrancar isto dele. > Estou dizendo isto sem pensar em conseqüências, teria algo a observar > amigão? > > Caso ainda acredite que guardar as configurações dos componentes no > DATA ainda seja a saída mais fácil, fazer me dê uma prévia de como eu > poderia fazer isto. > > Te agradeço amigo! > > On 15 abr, 11:47, Leonardo Casali <[email protected]> wrote: > > > É... é exatamente isso... > > É uma das coisas mais pentelhas de fazer isso no Flex. Isso acontece > > pq o Flex dispara um DataChange na rolagem hehehe aí perde a > > configuração. > > > Moral da história? > > > Você vai ter que guardar absolutamente TODA a configuração do renderer > > no data... O componente não vai manter estado sozinho... chato pra > > caramba, mas é o único jeito... > > > On 15 abr, 11:40, Squik <[email protected]> wrote: > > > > Bom dia amigos, > > > Estou um problema que infelizmente não sei por onde começar a > > > resolver. > > > Eu tenho um ArrayCollection que alimenta o meu DataGrid > > > ( dadosMétricas ), este dataGrid tem suas colunas e uma e todas elas > > > renderizam componentes TextInputs, para que o usuário possa inserir > > > dados. > > > No Entanto dependendo da linha eu faço uma comparação... ex: > > > Se DATA.indice== 1 carrega o Input normal > > > Se DATA.indice== 4 carrega um Input com outras funcionalidade... e > > > assim por diante > > > Em fim.. > > > Eu tenho um IF observando a variável publica DATA.indice para definir > > > qual é o componente a ser renderizado. > > > No entendo estou tendo um problema, quando os componentes são > > > renderizados em modo fullscreen(tela cheia) os componentes são > > > renderizados normalmente, porem meu datagrid esta dentro de um canvas > > > de uma componente Arccordion, e quando o mesmo tem o outro canvas > > > selecionado pelo usuário , ao retornar ao canvas anterior os > > > componentes que foram renderizados anteriormente ficam todos em > > > baralhados, perder a ordem em que foram renderizados da primeira vez, > > > ao até mesmo se não for exibido em modo tela cheia as linhas do > > > dataGrid que não aparece devido ao tamanho da tela (cria barra de > > > rolagem), também não aparecem com deveriam, é como se o valor do > > > DATA.indice se perdece. > > > Agradeço se alguém puder contribuir com uma idéia. -- 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
