Partilhar via


Associando dados à série com controles de gráfico

Este tópico descreve as várias técnicas de ligação de dados. Para obter um tutorial sobre a série de dados, consulte Tutorial: um gráfico para um banco de dados de associação de dados.

Métodos de associação de dados

Método

Vantagens

Desvantagens

Chart.DataBindTable

  • Associação simples de X e valores de Y.

  • Criação automática de série, com base no número de colunas na fonte de dados.

  • Somente uma passagem de dados necessários.

  • Não há vários valores Y por série.

  • Todas as séries têm o mesmo valor X ou X valor não for definido.

  • Nenhuma associação para propriedades estendidas de gráfico (por exemplo, as dicas de ferramentas).

Chart.DataSource

e

Chart.DataBind

  • A fonte de dados é iterada uma vez para todas as séries.

  • Oferece suporte a vários valores de Y.

  • Nenhuma associação para propriedades estendidas de gráfico (por exemplo, as dicas de ferramentas).

Points.DataBind(X)Y

  • Oferece suporte a várias fontes de dados, incluindo fontes de dados separadas para X e valores de y.

  • Oferece suporte a vários valores de Y.

  • Mais flexível em comparação com os dois métodos listados acima.

  • Nenhuma associação para propriedades estendidas de gráfico (por exemplo, as dicas de ferramentas).

  • Uma iteração através de dados por série.

Points.DataBind

Mesmo que acima, mais:

  • Oferece suporte à vinculação para gráfico propriedades (por exemplo, as dicas de ferramentas).

  • Uma iteração através de dados por série.

  • Não oferece suporte a diferentes fontes de dados de X e valores Y de uma série.

Chart.DataBindCrossTable

  • Somente uma passagem de dados necessários.

  • Cria automaticamente uma série para cada valor exclusivo em uma coluna especificada (usadas para agrupar dados valores exclusivos).

  • Nenhum

Fontes de dados

Estas são as possíveis fontes de dados usadas para associação:

  • Exibição de dados.

  • Leitores de dados (SQL, OleDB).

  • Conjunto de dados (somente de vinculação de dados da fonte de dados).

  • Matrizes.

  • Lista.

  • Todos os objetos de IEnumerable.

Dica

Ao usar fontes de dados não tabulares como listas ou matrizes, você pode associar apenas valores de Y, independentemente do tipo de método de ligação de dados usado.Isso ocorre porque as colunas não podem ser especificadas para X valores e outras propriedades do gráfico, como Tooltip.

Exemplo

O código a seguir demonstra como associar um gráfico de colunas a uma tabela de banco de dados do Access. A tabela "SALESCOUNTS" tem uma coluna "Representante" com os nomes do pessoal de vendas, uma coluna "Prod um", uma coluna "Prod B", uma coluna "Prod C", uma coluna "Prod D", uma coluna "Prod E" e uma coluna "Other". O DataBindTable método cria automaticamente seis Series objetos: um para cada coluna de produto e outro para a coluna "Other". Um ponto de dados em cada série existe automaticamente por registro. O método também vincula os valores de X da série de seis para a coluna "Representante" e usa-o para os rótulos de eixo dos pontos de dados.

Imports System.Data.OleDb 
Imports System.Data 
Imports System.Web.UI.DataVisualization.Charting
...

' Resolve the address to the Access database. We assume database is 
' in Bin folder. 
Dim fileNameString As String =  "chartdata.mdb" 

' Initialize a connection string. 
Dim myConnectionString As String =  "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString 

' Define the database query. 
Dim mySelectQuery As String = "SELECT * FROM SALESCOUNTS;" 

' Create a database connection object using the connection string. 
Dim myConnection As OleDbConnection =  New OleDbConnection(myConnectionString) 

' Create a database command on the connection using query. 
Dim myCommand As OleDbCommand =  New OleDbCommand(mySelectQuery,myConnection) 

' Open the connection. 
myCommand.Connection.Open() 

' Create a database reader. 
Dim myReader As OleDbDataReader =  myCommand.ExecuteReader(CommandBehavior.CloseConnection) 

' Specify the Name column to be used for point's X values. 
chart1.DataBindTable(myReader,"SalesRep")

' Close the connection. 
myConnection.Close()

'  This is a loop to set all created charts appearance with custom attribute.
Dim series As Series
For Each series In chart1.Series
    series.CustomAttributes = "DrawingStyle=LightToDark"
Next
using System.Data.OleDb; 
using System.Data; 
using System.Web.UI.DataVisualization.Charting;
...

// Resolve the address to the Access database. We assume database is 
// in Bin folder. 
string fileNameString = "chartdata.mdb"; 

// Initialize a connection string. 
string myConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileNameString; 

// Define the database query. 
string mySelectQuery="SELECT * FROM SALESCOUNTS;"; 

// Create a database connection object using the connection string. 
OleDbConnection myConnection = new OleDbConnection(myConnectionString); 

// Create a database command on the connection using query. 
OleDbCommand myCommand = new OleDbCommand(mySelectQuery, myConnection); 

// Open the connection. 
myCommand.Connection.Open(); 

// Create a database reader. 
OleDbDataReader myReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection); 

// Specify the Name column to be used for point's X values. 
chart1.DataBindTable(myReader,"SalesRep");

// Close the connection. 
myConnection.Close();

//  This is a loop to set all created charts appearance with custom attribute.
foreach (Series series in chart1.Series)
{
    series.CustomAttributes = "DrawingStyle=LightToDark";
}

Consulte também

Referência

System.Windows.Forms.DataVisualization.Charting

System.Web.UI.DataVisualization.Charting

Outros recursos

Data Binding and Manipulation