【TeeChart Pro ActiveX教程】(三):圖表分頁(yè)
如果圖表的數(shù)據(jù)源包含的數(shù)據(jù)多于可以在一個(gè)圖表屏幕上清晰顯示的數(shù)據(jù),您可能希望將圖表劃分為可以翻閱的頁(yè)面。這可以通過(guò)TeeChart編輯器或以編程方式實(shí)現(xiàn)。
使用圖表編輯器進(jìn)行分頁(yè)
可以使用TeeChart Editor定義頁(yè)面大小。仍然需要將分頁(yè)按鈕或ChartPageNavigator組件添加到項(xiàng)目中,或者您可以在運(yùn)行時(shí)使TeeChart Editor可用,以允許用戶使用編輯器更改頁(yè)面。 在設(shè)計(jì)時(shí),在TeeChart Editor中選擇Paging頁(yè)面。
在“Points per Page”框中,鍵入(或滾動(dòng)到)您希望在“Chart”頁(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í)立即生效。
運(yùn)行: 要在運(yùn)行時(shí)通過(guò)圖表編輯器訪問(wèn)分頁(yè)屬性,請(qǐng)使用ShowEditor。
[C#.Net]
tChart1.ShowEditor();
[VB.Net]
TChart1.ShowEditor()
按代碼分頁(yè)
可以通過(guò)Page類獲取分頁(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]
With TChart1 .Page.Current = .Page.Count End With
決定如何處理最后一頁(yè)
最后一頁(yè)不太可能具有與其他圖表頁(yè)面中的點(diǎn)數(shù)量匹配的正確點(diǎn)數(shù)。您可以選擇縮放最后頁(yè)面,其中“最適合”剩余點(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)
向用戶顯示頁(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) Handles Button1.Click 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