【TeeChart .NET教程】(三)圖表分頁(yè)
【下載TeeChart.Net最新版本】
如果圖表的數(shù)據(jù)源包含的數(shù)據(jù)多于可以在一個(gè)圖表屏幕上顯示的數(shù)據(jù),用戶(hù)可能希望將圖表劃分為可以翻閱的頁(yè)面,這可以通過(guò)TeeChart編輯器或以編程方式實(shí)現(xiàn)。
使用圖表編輯器進(jìn)行分頁(yè)
可以使用TeeChart Editor定義頁(yè)面大小,仍然需要將分頁(yè)按鈕或ChartPageNavigator組件添加到項(xiàng)目中,或者可以在運(yùn)行時(shí)使TeeChart Editor可用,以允許用戶(hù)使用編輯器更改頁(yè)面。
在設(shè)計(jì)時(shí),在TeeChart Editor中選擇Paging頁(yè)面。
在“ Points per Page:”框中,鍵入(或滾動(dòng)到)希望在圖表頁(yè)面上看到的系列點(diǎn)數(shù)。如果正在為系列編碼數(shù)據(jù)值,則在運(yùn)行項(xiàng)目,填充系列并在運(yùn)行時(shí)顯示圖表編輯器之前,導(dǎo)航按鈕不會(huì)突出顯示。如果連接到ADO.NET數(shù)據(jù)源,應(yīng)該看到分頁(yè)在設(shè)計(jì)時(shí)立即生效。
Runtime:
要在運(yùn)行時(shí)通過(guò)圖表編輯器訪(fǎng)問(wèn)分頁(yè)屬性,請(qǐng)使用ShowEditor。
[C#.Net]
tChart1.ShowEditor();
[VB.Net]
TChart1.ShowEditor()
按代碼分頁(yè)
可以通過(guò)Page類(lèi)獲取分頁(yè)屬性和方法。
向圖表添加分頁(yè)所需的步驟:
- 每頁(yè)定義點(diǎn)數(shù)
使用MaxPointsPerPage定義要在每個(gè)頁(yè)面上顯示的點(diǎn)數(shù):
[C#.Net]
tChart1.Page.MaxPointsPerPage = 10;
[VB.Net]
TChart1.Page.MaxPointsPerPage = 10
- 將導(dǎo)航按鈕添加到圖表的表單。
示例:
第一頁(yè)
[C#.Net]
tChart1.Page.Current = 0;
[VB.Net]
TChart1.Page.Current = 0
推進(jìn)一個(gè)頁(yè)面
[C#.Net]
tChart1.Page.Next();
[VB.Net]
TChart1.Page.Next()
轉(zhuǎn)到上一頁(yè)
[C#.Net]
tChart1.Page.Previous();
[VB.Net]
TChart1.Page.Previous()
最后一頁(yè)
[C#.Net]
tChart1.Page.Current = tChart1.Page.Count;
[VB.Net]
TChart1.Page.Current = .Page.Count
- 決定如何處理最后一頁(yè)。
最后一頁(yè)不具有與其他圖表頁(yè)面中的點(diǎn)數(shù)量匹配的正確點(diǎn)數(shù)。用戶(hù)可以選擇縮放最后頁(yè)面,其中“best fit(最適合)”剩余點(diǎn)到頁(yè)面,相應(yīng)地調(diào)整軸刻度,或者可以將頁(yè)面視為具有相同點(diǎn)數(shù)的先前頁(yè)面,這可能使最后一頁(yè)相當(dāng)為空如果頁(yè)面的分?jǐn)?shù)不多。
[C#.Net]
tChart1.Page.ScaleLastPage = false; (default = true)
[VB.Net]
TChart1.Page.ScaleLastPage = False (default = True)
- 向用戶(hù)顯示頁(yè)碼
PageNumber圖表工具可用于實(shí)現(xiàn)此目的:
[C#.Net]
private void Form1_Load(object sender,System.EventArgs e) { Bar bar1 = new Bar(); PageNumber pageNumber1 = new PageNumber(); tChart1.Series.Add(BAR1); tChart1.Tools.Add(pageNumber1); bar1.FillSampleValues(100); tChart1.Page.MaxPointsPerPage = 10; } private void button1_Click(object sender,System.EventArgs e) { tChart1.Page.Previous(); } private void button2_Click(object sender,System.EventArgs e) { tChart1.Page.Next(); }
[VB.Net]
Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles MyBase.Load Dim Bar1 As New Steema.TeeChart.Styles.Bar() Dim PageNumber1 As New Steema.TeeChart.Tools.PageNumber() TChart1。 Series.Add( Bar1 )TChart1.Tools.Add(PageNumber1) Bar1.FillSampleValues(100) TChart1.Page.MaxPointsPerPage = 10 End Sub Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)處理Button1。單擊 TChart1.Page.Previous() End Sub Private Sub Button2_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button2.Click TChart1.Page.Next() End Sub