Gráficos de Pizza com C# (Chart Pie with C#)

By diego@ds2web.com.br • on outubro 26, 2011 • Filed under: Asp.Net, Programação

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.

 

Leave a Reply