Problema com Select para geração de gráficos

14 views
Skip to first unread message

Alessandro Carvalho Coutinho

unread,
Apr 5, 2014, 9:18:10 AM4/5/14
to web2py-us...@googlegroups.com
Ola,

  Estou testando a criação de gráficos com o highcharts, a qualidade é excelente, porém estou encontrando dificuldades com o retorno dos selects.

Criei esta função no controler:
def exibedados(): 
    estado = db(db.estados).select(db.estados.nome)
    valor = db(db.estados).select(db.estados.valor)
    return dict(estado=estado,valor=valor)

Na view:
{{=estado}}
{{=valor}}

O resultado aparece:
estados.nome
Sao Paulo
estados.valor
10

Como faço para apresentar apenas: São Paulo e 10? Sem o nome da tabela.campo. Sendo que este 10 deve ser inteiro, pois irei colocar em um gráfico.

grato,
Alessandro

Maxwell Morais

unread,
Apr 5, 2014, 10:29:16 AM4/5/14
to web2py-us...@googlegroups.com
​Modifique sua view para:
{{=estado["estados.nome"]}}
{{=valor["estados.valor"]}}


--
Você recebeu essa mensagem por estar inscrito no grupo web2py-users-brazil.
Para enviar uma mensagem ao grupo, envie email a: web2py-us...@googlegroups.com
Para se desinscrever, envie email a: web2py-users-br...@googlegroups.com
Para mais opções, visite o site do grupo em: http://groups.google.com/group/web2py-users-brazil?hl=en
---
Você recebeu essa mensagem porque está inscrito no grupo quot;web2py-users-brazil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para web2py-users-br...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.



--

Best Regards.

Maxwell Morais
Python Developer powered by Webnotes framework <3

Vicente Orru

unread,
Apr 5, 2014, 11:57:22 AM4/5/14
to web2py-us...@googlegroups.com
A resposta do Maxwel deve ser suficiente, mas deixa eu observar algumas coisas:
  1. seja lista_x=[], valores que devem estar no eixo x do gráfico, por exemplo.
  2. estado deve ser uma lista de objetos do tipo Rows, sendo que cada item da lista é do tipo dict, assim este é o valor que vai para o eixo x ou y do gráfico, então apense a lista_x, ou y, como desejar, se o valor for do tipo None, deve ser tratado antes de passar para o JS para trabalhar de forma correta.
  3. return dict(lista_x=lista_x,...)
  4. Na view, no JS:
    1. var lista_x={{=XML(lista_x)}}; quando itens da lista_x for do tipo string ou datetime.
    2. var lista_x={{=(lista_x)}}; quando itens da lista_x for do tipo inteiro ou float.

Alessandro Carvalho Coutinho

unread,
Apr 6, 2014, 6:27:06 AM4/6/14
to web2py-us...@googlegroups.com
Obrigado Maxwell e Vicente, mas infelizmente não funcionou, antes apresentava o nome da coluna e em baixo o valor, agora aparece tudo junto. O Ovidio me encaminhou um "for", eu analisei, fiz umas adaptações e agora esta gerando o gráfico. Vou criar um outro tópico com titulo: "Exemplo de gráfico com Highcharts", assim facilitara a consulta para quem quiser testar gráficos.


[]s,
Alessandro
Reply all
Reply to author
Forward
0 new messages