Um os problemas mais comuns que tenho encontrado em muitos fóruns e listas, é como conseguir mudar a cor de uma linha numa dataGrid, e que muitas vezes se torna bastante útil. Visto que a dataGrid não suporta directamente a atribuição de uma cor a determinada linha, uma das soluções passa por ou incrementar a nossa dataGrid ou criar um item renderer.
O que vou explicar é como alterar o fundo de uma linha/coluna numa dataGrid, usando um TextInput como itemRenderer. Para isto criei um itemRenderer personalizado com algumas instruções para poder alterar a cor em determinadas linhas consoante a opção do utilizador.
O que permite este meu package:
- Colorir apenas uma linha em determinada coluna usando determinada cor;
- Colorir uma linha em varias colunas.
- Colorir varias linhas e varias colunas.
- Colorir determinado campo de acordo com o seu valor (numérico)
Algumas imagens:
Estas imagens resultam apenas de 3 parâmetros usados nos itemRenderer:
_colorAll: Boolean
No caso de true; Faz a coloração de todas as linhas nessa coluna (item renderer na coluna)
_color: Array
Recebe um array com as cores para as linhas, no caso de não receber nada, vai considerar a cor como Vermelho.
_linhas: Array
Recebe um array de linhas a colorir em determinada coluna, colorindo com a cor especificada no array _color;
_colorMinValue
Especifica o valor a partir do qual será colorido, no caso da imagem 3 em cima usei colorMinValue="450" e sem array _color (usou a cor definida).
Mas bom, podem ver o exemplo online aqui
E fazer o download do seu código fonte aqui
E o download do package aqui
O package está devidamente comentado para que possam perceber como é feito o processo.
Venham essas opiniões!









3 Comentários
Parabéns Mário pelo exemplo.. posso lhe adotar como tutor?
Claro :p
Obrigado…
Abraço.
Muito bom tutorial