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