翻譯|使用教程|編輯:楊鵬連|2021-07-05 11:24:02.803|閱讀 215 次
概述:任何系列都可以使用TeeChart編輯器連接到ADO.NET表或查詢。每個系列都可以使用相同或不同的ADO.NET數(shù)據(jù)庫連接到相同或不同的表或查詢。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
TeeChart for .NET是優(yōu)秀的 4.0 WinForm 圖表控件,官方獨家授權(quán)漢化,集功能全面、性能穩(wěn)定版、優(yōu)惠等優(yōu)勢。NET 的 TeeChart for .NET 中文承諾讓您在使用和學(xué)習(xí)上沒有語言障礙,最少可以節(jié)省30%的開發(fā)時間。
簡介
將TeeChart控件連接到ADO.NET數(shù)據(jù)庫可以在設(shè)計時使用TeeChart編輯器完成,也可以在運行時使用幾行代碼。
任何系列都可以使用TeeChart編輯器連接到ADO.NET表或查詢。每個系列都可以使用相同或不同的ADO.NET數(shù)據(jù)庫連接到相同或不同的表或查詢。
這種設(shè)計使你在如何將圖表連接到數(shù)據(jù)庫方面具有完全的靈活性,因為你不會被限制在只有一個數(shù)據(jù)庫或只有一個表或查詢。
數(shù)據(jù)也是在設(shè)計時檢索的,所以你在開發(fā)時可以看到實際的數(shù)據(jù)。
在設(shè)計時連接到ADO.NET
DataAdapter [VS2003]
在設(shè)計時,將一個系列連接到一個ADO.NET數(shù)據(jù)源的必要步驟是。
1. 從VS.NET工具箱的數(shù)據(jù)選項卡中,將一個OleDbDataAdapter拖到一個WinForm上,上面有一個TeeChart for .Net對象。
2. 在數(shù)據(jù)適配器配置向?qū)е悬c擊 "下一步",在下一頁中點擊 "新連接... "按鈕。
3. 現(xiàn)在點擊新窗口的 "提供者 "標(biāo)簽,選擇 "Microsoft Jet OLE DB提供者",如下圖所示。
6. 現(xiàn)在點擊數(shù)據(jù)適配器配置向?qū)Т翱诘?"下一步 "按鈕,在出現(xiàn)的窗口中選擇 "使用SQL語句 "并再次點擊 "下一步 "按鈕。
7. 現(xiàn)在點擊 "查詢生成器 "按鈕,添加 "雇員 "表。關(guān)閉 "添加表 "窗口,選擇 "*(所有列)"復(fù)選框。
8. 現(xiàn)在確定這個窗口,點擊 "下一步",然后點擊 "完成"。
9. 現(xiàn)在打開TeeChart編輯器,添加一個BarSeries,并導(dǎo)航到Series標(biāo)簽的DataSource標(biāo)簽。
BindingSource [VS2005,VS2008,VS2010,VS2012,VS2013]
在設(shè)計時,將一個系列連接到一個ADO.NET數(shù)據(jù)源的必要步驟是。
3. 在數(shù)據(jù)源工具箱上點擊右鍵,選擇 "添加新數(shù)據(jù)源"。
4. 選擇數(shù)據(jù)庫,選擇/創(chuàng)建連接字符串,在我們的例子中,我們使用Microsoft Access DataBase File(OLE DB),點擊繼續(xù)。
單一記錄
單一記錄圖表允許在TeeChart上顯示單一數(shù)據(jù)庫記錄的全部或部分記錄。它可能對數(shù)據(jù)庫視圖或表格很有用,例如,每年的銷售數(shù)字被存儲為單獨的月份列,"JAN"、"FEB"、"MAR"......等,通過記錄顯示連續(xù)幾年的月度銷售。
單一記錄圖表法支持數(shù)據(jù)集、表格和數(shù)據(jù)視圖。使用圖表編輯器選擇單記錄作為圖表系列的數(shù)據(jù)源類型。
在運行時連接到ADO.NET
[版本 .net 2003]
DataAdapter
上述設(shè)計時的步驟可以通過幾行代碼以編程方式重現(xiàn)。這給了你更多的自由和對數(shù)據(jù)庫操作的控制。
每個系列都有 "DataSource "屬性,它決定了數(shù)據(jù)庫值的來源(表或查詢),還有 "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如果數(shù)據(jù)庫的值發(fā)生了變化,你想 "刷新 "連接并再次檢索這些值,你應(yīng)該這樣做。
單一記錄
與表的連接
使用圖表編輯器將在表格的初始化中創(chuàng)建以下代碼。類似的代碼可以在運行時用于創(chuàng)建和連接新的SingleRecord數(shù)據(jù)源。
假設(shè)有一個名為sourceTableSet的數(shù)據(jù)集,表為: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;表格導(dǎo)航
TeeChart的SingleRecord使用CurrencyManager組件來導(dǎo)航數(shù)據(jù)庫表并更新Chart。在改變表的記錄后,使用CheckDatasource來更新Chart。
例子
private CurrencyManager myCurrencyManager; public void ConnectChartToTable() { myCurrencyManager = (CurrencyManager)this.BindingContext[sourceTable]; singleRecordSource1.RecordCurrency=myCurrencyManager; tChart1[0].CheckDataSource(); }該表(和圖表)可以通過使用CurrencyManager來導(dǎo)航。
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連接數(shù)據(jù)源,在ASP.NET WebForm上使用TeeChart WebChart,其方式與數(shù)據(jù)源連接到WinForm上的TeeChart組件的方式幾乎相同。關(guān)于ASP.NET的更多信息,請參見互聯(lián)網(wǎng)應(yīng)用教程。
現(xiàn)的的TeeChart為.NET已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
如果你看到了可愛的動物群,歡迎加入展示區(qū)QQ:740060302
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)和最新資訊。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: