Gráficos de Pizza com C# (Chart Pie with C#)
Olá Pessoal essa semana precisei fazer uma ferramenta pra um cliente em que uma das funcionalidades era gerar relatórios com gráficos. Para isso eu usei a ferramenta Chart do Visual Studio 2010. Achei muito simples e funcional, ideal para a minha necessidade no momento. Por isso elaborei um breve tutorial de como usar o Chart em C# pelo code behind.
1- Abra o Visual Studio 2010 e crie um novo WebSite ou abra o seu projeto já existente;
2- Neste exemplo vamos usar uma base de dados Access com uma tabela de vendas, com o número do total de vendas de cada mês;
3- Crie um Dataset na pasta App_code;
4- Adicione um TableAdapter da tabela do banco de dados e faça um select que retorne todos os valores;
5- Vá até a página que deseja exibir o gráfico e arraste a ferramenta Chart para o local que deseja na página;
6- Agora no code behind da página vamos colocar o seguinte código:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
//importando a classe para criar os gráficos
using System.Web.UI.DataVisualization.Charting;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//busca os dados na tabela e armazena em um datatable
DataSet1TableAdapters.tb_dadosTableAdapter vendas = new DataSet1TableAdapters.tb_dadosTableAdapter();
DataTable tb_vendas = vendas.Get_select_all();
//conta a quantidade de itens no datatble
int qtde_linhas = tb_vendas.Rows.Count;
//cria os arrays para alimentar o gráfico
string[] valoresx = new string[qtde_linhas];
int[] valoresy = new int[qtde_linhas];
for (int vx = 0; qtde_linhas > vx; vx++) {
valoresx[vx] = Convert.ToString(tb_vendas.Rows[vx]["mes"]);
valoresy[vx] = Convert.ToInt32(tb_vendas.Rows[vx]["vendas"]);
}//fim do For
//insere os valores dos array no gráficos
Chart1.Series["Series1"].Points.DataBindXY(valoresx, valoresy);
//setando o tipo de gráfico a ser usado. Neste caso o gráfico de pizza
Chart1.Series["Series1"].ChartType = SeriesChartType.Pie;
//setando os labels denrto de cada fatia do grafico
Chart1.Series["Series1"]["PieLabelStyle"] = "inside";
//Defininto estilo 3D para o gráfico
Chart1.ChartAreas["ChartArea1"].Area3DStyle.Enable3D = true;
}
}
7- Agora pressione a tecla F5 para exibir no navegador a página com o gráfico gerado, buscando dados do banco de dados;
Assim foi a forma mais simples que encontrei de gerar gráficos em asp.net utilizando o code behind, claro que os charts possuem muitas outras configurações e opções de personalizações, aqui eu quis apenas abordar o básico de como usar isso em aplicações ASP.net C#
Existe pack com exemplos e o código para os charts no site da MSDN neste link:
http://archive.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=4418
Você pode fazer o Download do exemplo acima Clicando Aqui
Você também usa ou usou os charts em suas aplicações, conte-nos o que acha dessa ferramenta.




