Criando um datagrid dinamicamente com tipos dos dados diferentes nas linhas

7 respostas
lelodois

Olá pessoa, boa tarde.

Preciso criar em flex um datagrid que dinamicamente em cada linha tenha um componente diferente.
Por ex…

Name value

teste text
teste2 comboBox
teste3 checkBox
teste4 label

Alguém, sabe como?
Creio que é criando o DataGrid em actionScript, mas como adicionar o componente (text) a minha coluna?

grato

7 Respostas

V

Olá,

Faz uma pesquisa sobre ItemRenderer.
Esta é a solução para o que você precisa.
Qualquer dúvida para implementar poste aí.

lelodois

Beleza, vou dar uma olhada.

lelodois

Certo, creio que é esta a solução.

Mas como passo um parametro para o meu itemRenderer e como faço para ele executar uma determinada função a cada valor?
initialize?

V

Não precisa exatamente passar um parâmetro porque no ItemRenderer já vai possuir um objeto ‘data’ que contem os valores da linha corrente selecionada no DataGrid.

Da uma olhada no help neste item: Creating item renderers and item editor components.
Ali tem vários exemplos.

lelodois

Blz, a documentação é realmente muito boa, vou continuar me orientando por este capitulo.
Só mais uma dúvida, estou criando um itemRenderer em action script para aproveitar e chamar minhas verificações através do construtor, só que este itemRenderer vai devolver um text, ou um combo ou um check, controlo deixando ativo ou inativo os meus componentes.

Quem meu itemRenderer deve estender?

Caso eu possa colocar meu itemRenderer em um mxml qual será a function que sempre será executada na inicialização dela?

Ps: não sei se esta é a melhor forma de fazer isto, pois não vi nenhum exemplo que tem mais de um componente no itemRenderer.
Muito grato.

lelodois

Deu certo!!!

Criei meu itemRenderer no mxml, no creationComplete eu coloquei a chamada da function que determina quais componentes eu terei que mostrar na tela.
Me recomenda usar desta forma?

desde já agradeço a atenção :wink:
abs

lelodois

Topico RESOLVIDO

Criado 6 de janeiro de 2010
Ultima resposta 7 de jan. de 2010
Respostas 7
Participantes 2