TeeChart Pro 将自动为您定义所有 Axis 标签,并提供足够的灵活性来定制您可能有的任何特定要求。 TeeChart Pro 提供真正的多轴。 这些在设计或运行时可用,并为 Axis 定义提供了无数的可能性和灵活性。
在运行时连接到 ADO.NET
[VERSION .NET 2003]
上面的设计时步骤可以用几行代码以编程方式重现。 这为您提供了对数据库操作的更多自由和控制。
每个系列都有“DataSource”属性,它确定数据库值(表或查询)的来源,以及“YValues.DataMember”和“LabelMember”属性来指定我们要绘制的字段。
将一个新的 TeeChart for .Net 对象拖到一个新项目和一个新窗体上。
[VERSION .NET 2005]
[C#]
using System.Data;
using System.Data.OleDb;
using System.Security;
using System.Security.Permissions;
private void Form1_Load(object sender, EventArgs e)
{
//string ConnString = SqlDataSource1.ConnectionString;
string sQuery = "select * from Employee";
//SqlConnection myConnection = new SqlConnection(ConnString);
string myConnString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Program Files\\Steema Software\\TeeChart for .NET v3\\Sample data\\TeeChart.mdb;Uid=Admin;Pwd=;";
System.Data.Odbc.OdbcConnection myConnection = new System.Data.Odbc.OdbcConnection(myConnString);
//SqlCommand myCommand = new SqlCommand(sQuery, myConnection);
System.Data.Odbc.OdbcCommand myCommand = new System.Data.Odbc.OdbcCommand(sQuery, myConnection);
myConnection.Open();
//SqlDataReader myReader = myCommand.ExecuteReader();
System.Data.Odbc.OdbcDataReader myReader = myCommand.ExecuteReader();
int XColumn = myReader.GetOrdinal("ID");
int YColumn = myReader.GetOrdinal("SALARY");
int LabelColumn = myReader.GetOrdinal("LASTNAME");
Steema.TeeChart.Styles.Bar bar1 = new Steema.TeeChart.Styles.Bar(tChart1.Chart);
while (myReader.Read())
{
bar1.Add(Convert.ToInt32(myReader[XColumn]), Convert.ToDouble(myReader[YColumn]), Convert.ToString(myReader[LabelColumn]));
}
myReader.Close();
myConnection.Close();
}
[VB.Net]
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim MasterDataSet As New DataSet()
Dim Bar1 As New Steema.TeeChart.Styles.Bar(TChart1.Chart)
Try
OpenConnWithJet40(MasterDataSet)
Dim employeeTable As DataTable = MasterDataSet.Tables("EMPLOYEE")
Bar1.YValues.DataMember = employeeTable.Columns("SALARY").ToString()
Bar1.LabelMember = employeeTable.Columns("LASTNAME").ToString()
Bar1.DataSource = employeeTable
Catch ex As Exception
MessageBox.Show("Microsoft Jet 4.0 OLE DB Provider problem: " & ex.Message)
End Try
End Sub
Private Sub OpenConnWithJet40(ByRef MasterDataSet As DataSet)
Dim TestConn As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Program Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.mdb;")
TestConn.Open()
Dim StrCom As String = "SELECT * FROM Employee"
Dim MyCommand As New OleDb.OleDbDataAdapter(StrCom, TestConn)
MyCommand.Fill(MasterDataSet, "Employee")
TestConn.Close()
End Sub
End Class
如果数据库值被更改并且您想“刷新”连接并再次检索值,您应该这样做:
TChart1.Series(0).CheckDataSource
“CheckDataSource”方法将强制系列再次检索所有记录。
所有系列还具有“XValues.ValueSource”属性。 此属性仅用于 XY 图表(当您有每个点的 X 坐标时)。
连接到Table
使用图表编辑器将在表单的初始化中创建以下代码。 可以在运行时使用类似的代码来创建和连接新的 SingleRecord 数据源。
this.singleRecordSource1 = new Steema.TeeChart.Data.SingleRecordSource();
this.sourceTableSet.DataSetName = "NewDataSet";
this.sourceTableSet.Tables.AddRange(new System.Data.DataTable[] {this.sourceTable});
this.singleRecordSource1.DataSource = this.sourceTableSet;
this.singleRecordSource1.ValueMembers = new string[] {
"JAN",
"FEB",
"MAR"};
this.bar1 = new Steema.TeeChart.Styles.Bar();
this.bar1.DataSource = this.singleRecordSource1;
表格导航
TeeChart 的 SingleRecord 使用 CurrencyManager 组件来导航数据库表并更新图表。 更改表格记录后,使用 CheckDatasource 更新图表。
private CurrencyManager myCurrencyManager;
public void ConnectChartToTable()
{
myCurrencyManager = (CurrencyManager)this.BindingContext[sourceTable];
singleRecordSource1.RecordCurrency=myCurrencyManager;
tChart1[0].CheckDataSource();
}
可以使用 CurrencyManager 导航表格(和图表)
private void MovePrevious()
{
if (myCurrencyManager.Position>0)
{
myCurrencyManager.Position=myCurrencyManager.Position+1;
tChart1[0].CheckDataSource();
}
}
private void MoveNext()
{
if (myCurrencyManager.Position
myCurrencyManager.Count)
{
myCurrencyManager.Position=myCurrencyManager.Position+1;
tChart1[0].CheckDataSource();
}
}
将 ADO.NET 与 ASP.NET 结合使用
您可以使用 ASP.NET WebForm 上的 TeeChart WebChart 通过 ASP.NET 连接数据源,其方式与将数据源连接到 WinForm 上的 TeeChart 组件的方式几乎相同。