ASP .NET - Apresentando o controle Chart
Já faz algum tempo que a Microsoft Liberou o .NET Chart Control , oriundo do Dundas Charts, como um add-on gratuito para a plataforma .NET versão 3.5, oferecendo dessa forma um recurso com possibilidades muitos interessantes para a geração de gráficos tanto com ASP .NET como com aplicações Windows Forms, uma área muito carente na plataforma .NET.
A primeira coisa que você tem que fazer para ter disponível este recurso é efetuar os seguintes downloads:
Neste link você encontra exemplos e documentação sobre o componente: http://code.msdn.microsoft.com/mschart
Após você
instalar os componentes você poderá abrir |
O controle Chart define todos os parâmetros e métodos necessários para criar e exibir gráficos em aplicações ASP .NET e Windows Forms. Cada gráfico pode ter um ou mais títulos que aparecem no topo do gráfico, além de legendas referentes a vários grupos de informação.
Cada gráfico criado com o controle Chart possui uma área de gráfico (Chart area) que define a região onde o gráfico será criado. Esta área possui diversos parâmetros de configuração relacionados aos eixos X e Y, gráficos 3D, etc. O objeto ChartArea é o componente chave que compõe o controle Chart.
O controle Chart permite criar diversos tipos de gráficos sendo muito fácil de ser utilizado a partir da ToolBox. Você pode obter informações detalhadas deste componente consultando a sua documentação em: Download details: Microsoft Chart Controls for .NET Framework.
Para iniciar eu vou mostrar como criar um gráfico simples em um web site ASP .NET usando este componente e a ferramenta Visual Web Developer 2008 Express Edition.
Abra o VIsual Web Developer 2008 e crie um novo web site usado o template ASP.NET Web Site, usando a linguagem VB .NET com o nome GraficoWeb;
Na janela Solution Explorer selecione a página Default.aspx criada por padrão e altere o modo de exibição para Design;
A seguir , a partir da ToolBox, na guia Data, selecione, arraste e solte o componente Chart na página Default.aspx conforme abaixo:
Note que o tipo de gráfico padrão e um gráfico de colunas, ou seja , a propriedade CharType é definida como Column. Para definir outro tipo de gráfico em tempo de projeto selecione o controle e na janela de propriedades procure por Series e clique no botão a esquerda;
Na janela Series Collection Editor selecione a propriedade ChartType e verifica as 25 opções de tipos de gráficos disponíveis:
Apenas por curiosidade vamos dar uma espiada no código gerado selecione a guia Source da página:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@ Register assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div style="width: 347px"> <asp:Chart ID="Chart1" runat="server"> <series> <asp:Series Name="Series1"> </asp:Series> </series> <chartareas> <asp:ChartArea Name="ChartArea1"> </asp:ChartArea> </chartareas> </asp:Chart> </div> </form> </body> </html> |
Neste primeiro exemplo eu vou usar alguns dados de uma fonte de dados, fazer a vinculação com o controle Chart e exibir o resultado em uma página ASP .NET.
Selecione o controle na página e na smart tag Chart Tasks selecione <New data source...>;
Na janela Data Source Configuration Wizard selecione a opção DataBase e clique no botão Ok;
Selecione uma conexão com o banco de dados Northwind.mdf. Se você não possuir esta conexão clique no botão New Connection e crie a conexão;
No meu exemplo a conexão já foi criada no SQL Server Management Studio e pode ser selecionada conforme abaixo:
Clique em Next>;
Na janela a seguir aceite o nome padrão para a conexão e clique em Next>;
Na janela Configure Data Source,marque a opção : Specify a custom SQL statement or stored procedures e clique em Next>;
Na próxima janela digite a instrução SQL abaixo que irá gerar a nossa fonte de dados. Ele listar a quantidade de produtos por categoria;
Clique em Next> e a seguir em Finish;
Selecione o controle Chart e na janela de propriedades clique na propriedade ChartAreas;
Será aberta a janela ChartArea Collection Editor;
Na propriedade Axes clique no botão para abrir a janela Axis Collection Editor e em OK para fechar a janela ChartArea Collection;
Define a propriedade 'Title' do eixo X como Categorias e o título do eixo Y como Produtos e clique em OK;
Com o controle Chart selecionado procure a propriedade Series e abra a janela Series Collection Editor;
Na seção Data Source atribua o valor CategoryName a propriedade XValueMember e ProductCount a propriedade YValueMembers;
Defina também a propriedade IsValueShownAsLabel como True para exibir a quantidade de produtos nas colunas do gráfico e clique em OK;
Antes de executar o projeto você pode incrementar o visual do gráficos selecionando na janela de propriedades BackColor, BackGradientStyle e BorderSkin conforme abaixo:
Acrescente também um título ao gráfico usando a propriedade Titles do gráfico e definindo o titulo na propriedade Text da janela Title Collection Editor;
Executando o projeto iremos obter o gráfico abaixo exibindo a quantidade de produtos por categoria:
Obs: Se ao executar o projeto você obter o erro conforme a figura abaixo:
Abra o arquivo Web.config e altere a linha conforme indicado baixo incluindo a palavra POST.
.... <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" /> ....... |
Sentiu como é fácil definir um gráfico usando o assistente de configuração para o controle Chart. É claro que o controle possui mais recursos e que em outros artigos eu irei mostrar outras possibilidades.
Pegue o projeto completo aqui: demoGrafico.zip
Aguarde em breve mais artigos sobre o componente Chart.
Eu sei é apenas ASP .NET , mas eu gosto...
Referências:
José Carlos Macoratti