[RESOLVIDO] Dúvida ao gerar gráfico no Flex ColumnChart!
10 respostas
R
rfogo
Estou tentando gerar um gráfico com os seguintes dados:
Exemplo:
| uma | | duas || tres | …
| Valor 1 | | Valor 2 || Valor 3 |…
Sendo que no eixo X o nome de cada coluna deveria ser (uma|duas|tres) com seus respectivos valores, no Eixo Y (Valor Total) de veria ser a soma (Valor 1 + Valor 2 + Valor 3) como é feito no Excel.
Recebo esses dados em um array. No DataGrid os valores são carregados normalmente! Já no ColumnChart só carrega uma linha da primeira coluna sem o nome.
Agora quando Executo o </mx:ColumnChart> sem a propriedade XField=“Hora”, ele traz os dados do ArrayCollection para o Gráfico porém sem o nome da Categoria no Eixo “X”. Se adiciono a propriedade xField"Hora" ele adiciona o nome da categoria e dá uma erro não carregando o gráfico com os dados do ArrayCollection
renzonuccitelli
vc por acaso possui o Tour de Flex instalado? Se não, recomendo. Ele contém vários exemplos explicados de código fonte, é muito boa referência. Entre esses exemplos, ele contém a parte de gráficos.
[]s
R
rfogo
Renzo,
Possuo sim!
O problema que nos exemplos de graficos o arraycollection tem os valores setados diretamente no mxml dessa forma fica mais simples resgatar os valores do xFilde que nesse caso será xField=“Country” e yField que poderá ser uma das tres cores:
No meu caso o arraycollaction consumo já está alimentado com o objeto consumo e apartir daí não consigo definir o eixo xField.
renzonuccitelli
Poste o código dos objetos que vc está inserindo na coleção consumo. Uma solução seria criar um objeto contendo o seu xField. Poste o código da classe dos objetos do ArrayCollection pra ficar melhor de entender seu problema e poder te ajduar.
faça o seguinte então: crie um método get na sua classe que retorne a soma e indique o mesmo como xField.
Ex:
public function get soma():Number{
//retorne aqui a soma que deseja
}
Ou então vc pode usar o labelFunction para retornar o que deseja. Se já usou o label funciont em DataGrid, funciona da mesma forma. Se não, pesquise na documentação que é bem fácil...rs.
Agora o detalhe é que cada columnSerie tem seu label, então vai ficar um pouco esquisito esse gráfico.
Além disso eu te recomendaria rever esse modelo. Seria uma bola ter uma lista para seu consumo total, ficaria melhor modelado. E se vc kiser ver o seu consumo total com 25? :D
[]s
R
rfogo
Ok, Vou dar uma olhada nisso.
Eu achei que da mesma forma que pego o yField do próprio objeto conseguiria pegar somente o nome da coluna no xField.
Aproveitando da sua boa vontade,
como faço para habilitar a navegação na aplicação com o Tab? E quando pressionar o Enter chamar um método?
renzonuccitelli
rfogo:
Ok, Vou dar uma olhada nisso.
Eu achei que da mesma forma que pego o yField do próprio objeto conseguiria pegar somente o nome da coluna no xField.
Aproveitando da sua boa vontade,
como faço para habilitar a navegação na aplicação com o Tab? E quando pressionar o Enter chamar um método?
O que vc quer dizer com “habilitar navegação com Tab”? Para formulário, isso funciona por default.
Para executar um método ao clicar em enter, basta adicionar KeyUpListener e conferiar o código da tecla pra ver se foi a desejada.
Mas a melhor dica que dou é fazer um curso de Adobe Flex na Nuccitec :lol: . Assim o aprendizado é bem mais rápido.
[]s
R
rfogo
Vo sim, só estou tentando conhecer um pouco mais a ferramenta!
A parte do KeyboardEvent consegui fazer!
Já o tab mesmo alterando os campos para um form não funciona.