翻译|使用教程|编辑:杨鹏连|2021-07-05 11:24:02.803|阅读 137 次
概述:任何系列都可以使用TeeChart编辑器连接到ADO.NET表或查询。每个系列都可以使用相同或不同的ADO.NET数据库连接到相同或不同的表或查询。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
TeeChart for .NET是优秀的 4.0 WinForm 图表控件,官方独家授权汉化,集功能全面、性能稳定版、优惠等优势。NET 的 TeeChart for .NET 中文承诺让您在使用和学习上没有语言障碍,最少可以节省30%的开发时间。
简介
将TeeChart控件连接到ADO.NET数据库可以在设计时使用TeeChart编辑器完成,也可以在运行时使用几行代码。
任何系列都可以使用TeeChart编辑器连接到ADO.NET表或查询。每个系列都可以使用相同或不同的ADO.NET数据库连接到相同或不同的表或查询。
这种设计使你在如何将图表连接到数据库方面具有完全的灵活性,因为你不会被限制在只有一个数据库或只有一个表或查询。
数据也是在设计时检索的,所以你在开发时可以看到实际的数据。
在设计时连接到ADO.NET
DataAdapter [VS2003]
在设计时,将一个系列连接到一个ADO.NET数据源的必要步骤是。
1. 从VS.NET工具箱的数据选项卡中,将一个OleDbDataAdapter拖到一个WinForm上,上面有一个TeeChart for .Net对象。
2. 在数据适配器配置向导中点击 "下一步",在下一页中点击 "新连接... "按钮。
3. 现在点击新窗口的 "提供者 "标签,选择 "Microsoft Jet OLE DB提供者",如下图所示。
6. 现在点击数据适配器配置向导窗口的 "下一步 "按钮,在出现的窗口中选择 "使用SQL语句 "并再次点击 "下一步 "按钮。
7. 现在点击 "查询生成器 "按钮,添加 "雇员 "表。关闭 "添加表 "窗口,选择 "*(所有列)"复选框。
8. 现在确定这个窗口,点击 "下一步",然后点击 "完成"。
9. 现在打开TeeChart编辑器,添加一个BarSeries,并导航到Series标签的DataSource标签。
BindingSource [VS2005,VS2008,VS2010,VS2012,VS2013]
在设计时,将一个系列连接到一个ADO.NET数据源的必要步骤是。
3. 在数据源工具箱上点击右键,选择 "添加新数据源"。
4. 选择数据库,选择/创建连接字符串,在我们的例子中,我们使用Microsoft Access DataBase File(OLE DB),点击继续。
单一记录
单一记录图表允许在TeeChart上显示单一数据库记录的全部或部分记录。它可能对数据库视图或表格很有用,例如,每年的销售数字被存储为单独的月份列,"JAN"、"FEB"、"MAR"......等,通过记录显示连续几年的月度销售。
单一记录图表法支持数据集、表格和数据视图。使用图表编辑器选择单记录作为图表系列的数据源类型。
在运行时连接到ADO.NET
[版本 .net 2003]
DataAdapter
上述设计时的步骤可以通过几行代码以编程方式重现。这给了你更多的自由和对数据库操作的控制。
每个系列都有 "DataSource "属性,它决定了数据库值的来源(表或查询),还有 "YValues.DataMember "和 "LabelMember "属性,用于指定我们要绘制的字段。
把一个新的TeeChart for .Net对象拖到一个新的项目和一个新的表格上。
[C#] using System.Data; using System.Data.OleDb; using System.Security; using System.Security.Permissions; private void Form1_Load(object sender, System.EventArgs e) { DataSet masterDataSet = new DataSet(); Bar bar1 = new Bar(tChart1.Chart); try { OpenConnWithJet40(ref masterDataSet); DataTable employeeTable = masterDataSet.Tables["EMPLOYEE"]; bar1.YValues.DataMember = employeeTable.Columns["SALARY"].ToString(); bar1.LabelMember = employeeTable.Columns["LASTNAME"].ToString(); bar1.DataSource = employeeTable; } catch (SecurityException) { MessageBox.Show("The calling method has not been granted sufficient permission to access the Microsoft Jet 4.0 OLE DB Provider."); } } [OleDbPermission(SecurityAction.Demand, Provider = "Microsoft.Jet.OLEDB.4.0")] private void OpenConnWithJet40(ref DataSet masterDataSet) { OleDbConnection testConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" + @"Data Source=C:\Program Files\Steema Software\TeeChart for .NET v3\Sample data\TeeChart.mdb;"); testConn.Open(); string strCom = "SELECT * FROM Employee"; OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom,testConn); myCommand.Fill(masterDataSet, "Employee"); testConn.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 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 OleDbDataAdapter(StrCom, TestConn) MyCommand.Fill(MasterDataSet, "Employee") TestConn.Close() End Sub End Class在.NET 2005版本中,对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如果数据库的值发生了变化,你想 "刷新 "连接并再次检索这些值,你应该这样做。
单一记录
与表的连接
使用图表编辑器将在表格的初始化中创建以下代码。类似的代码可以在运行时用于创建和连接新的SingleRecord数据源。
假设有一个名为sourceTableSet的数据集,表为:sourceTable)。
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组件来导航数据库表并更新Chart。在改变表的记录后,使用CheckDatasource来更新Chart。
例子
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(); } }在ASP.NET中使用ADO.NET
你可以通过ASP.NET连接数据源,在ASP.NET WebForm上使用TeeChart WebChart,其方式与数据源连接到WinForm上的TeeChart组件的方式几乎相同。关于ASP.NET的更多信息,请参见互联网应用教程。
现的的TeeChart为.NET已加入在线订购,现在抢购可立享优惠!
如果你看到了可爱的动物群,欢迎加入展示区QQ:740060302
关注慧聚IT微信公众号☟☟☟,了解产品的最新动态和最新资讯。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
文章转载自: