MONTAR GRAFICO USANDO BD

JCMSIS 24/10/2011 15:42:37
#387587
Alguém pode me dar uma dica ou um exemplo de como montar um gráfico no Asp.net + VB?
PROFESSOR 24/10/2011 17:20:09
#387603
Opa, Jean.

Uma dica seria o uso dos charts do próprio Visual Studio, que se por um lado não são os mais charmosos, por outro são compatíveis e obedecem á um padrão mais [Ô]palatável[Ô].

Exemplos, você encontra ás dezenas, no próprio pacote de exemplos desses componentes, que você pode baixar no site MSDN da Microsoft.

Com ou sem integração á bases de dados, interativos ou estáticos, [Ô]just-in-time[Ô] ou [Ô]snapshot[Ô], são vários exemplos, com código fonte e demonstração dos resultados. Uma boa [Ô]peça[Ô] para a biblioteca do desenvolvedor.

Se você procurar no site da CodeProject, e outros, claro, vai encontrar também vários exemplos, alguns em VB + ASP, de como gerar gráficos (linha, barra e pizza/torta) usando apenas a GDI+ e código. Os gráficos são [Ô]on-demand[Ô] nestes casos, fixos e não-vinculados, mas alguns resultados são satisfatórios, já que são bem rápidos em tempo de execução. Um em especial me chamou a atenção ao ponto de eu criar há cerca de dois anos um namespace próprio para esse fim, com várias classes, tudo baseado na idéia deles. Não entro em detalhes nem lhe envio porquê desenvolvi para um cliente, e seria desleal de minha parte, mas veja por lá, pois na verdade são bem simples de serem produzidos e com pouco esforço e o uso de [Ô]tiles[Ô] para os padrões (eu as prefiro em formato PNG), dá para fazer coisas bem interessantes.
MARCELOSN 24/10/2011 17:33:33
#387607
Resposta escolhida
Boa tarde

Segue site com alguns modelos de graficos:
http://demos.devexpress.com/XtraChartsDemos/


Recomendo o uso deste modelo de grafico do site:
http://www.fusioncharts.com
Exemplo do grafico em Flash:
http://www.fusioncharts.com/demos/blueprint/

O mesmo tem uma versão FREE(limitada), e ajuda bastante com a integração do ASP.Net com Banco de Dados
Opção da parte Free
http://www.fusioncharts.com/free/

E como indicadopelo Professor tem sempre alguns exemplos na net para nosso auxilio.

Mas o devemos buscar e entender o codigo desenvolvido ficando assim com a nossa [Ô]cara[Ô].
Com isso evitamos não entender o codigo postado e ficar enrolado em algumas soluções simples


Espero ter ajudado

PROFESSOR 24/10/2011 19:11:51
#387618
MARCELOSN

Os FusionCharts são lindos (principalmente os efeitos), funcionam muito bem tanto ClientSide via jscript e XML quanto em ServerSide, funcionam bem em websites independente da linguagem mas, mesmo que a empresa não divulgue, funcionam TAMBéM em winforms (via componente WebBrowser e alguns truues simples), não são caros, de forma alguma, e ainda pode-se adquirir os fontes junto ao fornecedor, para, por exemplo, personalizar os menus de contexto.
Mas funcionam por meio de XML ou por meio de vínculo próprio, não acoplando datasets ou datatables. E se você precisar gerar XML para cada consulta, o I/O em disco será um fator negativo.
Tem algum tempo que eu não lido com eles, mas antes eram esses os inconvenientes, e que não tive mais com os da Microsoft. Já mudou alguma coisa nesse sentido?
MARCELOSN 24/10/2011 21:00:19
#387626
Boa noite


No caso eu uso o mesmo com array de dados a chamada de dados e passo somente os mesmo sem a necessidade de montar xml direto no servidor e não tenho muito problema com eles


Usando a Locaweb com ele a apresentação de dados que tenho e rapida

Na parte de ajuda tem varios exemplo de conexão com banco de dados, e geração de grafico, mas a grande maioria esta mesmo em XML neste caso uso mais para entendimento e a montagem do arquivo do banco para inserção no sistema.

========================================================================
Exemplo do modelo que estou utillizando sem a geraão do XML

Dim command As SqlCommand = New SqlCommand(sSql, connection)
Dim reader As SqlDataReader = command.ExecuteReader
xmlCabecalho = ([Ô]<chart palette=[ô]3[ô] formatNumber=[ô]1[ô] [Ô] _
& [Ô] caption=[ô]Estabelecimento [Ô] & ContarLojas & [Ô] Loja(s) - Periodo: [Ô] & Session([Ô]DataPesquisa[Ô].ToString) & _
Marcas & Segmentos & [Ô][ô] [Ô] _
& [Ô]formatNumberScale=[ô]1[ô] showValues=[ô]1[ô] labelStep=[ô]0[ô] showPercentageValues=[ô]1[ô]>[Ô])
While reader.Read
xmlData += ([Ô] <set label=[ô][Ô] & reader([Ô]Produto[Ô]).ToString & ([Ô][ô] value=[ô][Ô] & (reader([Ô]Preco[Ô]).ToString) & [Ô][ô]/> [Ô]))
End While
reader.Close()

xmlData = xmlCabecalho & xmlData & [Ô]</chart>[Ô]

[ô]Montagem final do relatorio para o sistema com a largura e tamanho dos Flash passando o arquivo xmlData sem que seja gravado na amquina
Return InfoSoftGlobal.InfoSoftGlobal.FusionCharts.RenderChart([Ô]Data/[Ô] & ddlTipoGrafico.SelectedValue, [Ô][Ô], xmlData, [Ô][Ô], [Ô]100%[Ô], [Ô]310[Ô], [Ô]0[Ô], [Ô]1[Ô])





PROFESSOR 25/10/2011 01:33:55
#387650
Hummm!

Muitíssimo interessante, super-simples, e pelo exemplo, em muitos casos daria até para [Ô]embutir[Ô] tudo no próprio SELECT!

Rapaz, agradeço pela informação e inclusive pelo exemplo. Vou voltar á olhar para os Fusion com mais carinho, pois bonitos, os danados são mesmo! E agora, bem mais fáceis de usar!

Obrigado!!!
PROFESSOR 25/10/2011 01:43:25
#387651
Uoooops, hehehe!

De fato, mudou! Os preços SÃO salgados, agora, rapaz!!!

Ainda dá para [Ô]quebrar[Ô] o custo, diluindo isso entre os clientes, mas que salto, de uns anos para cá!
Tópico encerrado , respostas não são mais permitidas