-
Notifications
You must be signed in to change notification settings - Fork 0
/
Form1.vb
81 lines (69 loc) · 3.24 KB
/
Form1.vb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports DevExpress.XtraCharts
Imports DevExpress.XtraPivotGrid
Namespace WindowsApplication53
Partial Public Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
PopulateTable()
pivotGridControl1.RefreshData()
pivotGridControl1.BestFit()
End Sub
Private Sub PopulateTable()
Dim myTable As DataTable = dataSet1.Tables("Data")
myTable.Rows.Add(New Object() { "Aaa", DateTime.Today, 7 })
myTable.Rows.Add(New Object() { "Aaa", DateTime.Today.AddDays(1), 4 })
myTable.Rows.Add(New Object() { "Bbb", DateTime.Today, 12 })
myTable.Rows.Add(New Object() { "Bbb", DateTime.Today.AddDays(1), 14 })
myTable.Rows.Add(New Object() { "Ccc", DateTime.Today, 11 })
myTable.Rows.Add(New Object() { "Ccc", DateTime.Today.AddDays(1), 10 })
myTable.Rows.Add(New Object() { "Aaa", DateTime.Today.AddDays(3), 4 })
myTable.Rows.Add(New Object() { "Aaa", DateTime.Today.AddDays(2), 2 })
myTable.Rows.Add(New Object() { "Bbb", DateTime.Today.AddDays(3), 3 })
myTable.Rows.Add(New Object() { "Bbb", DateTime.Today.AddDays(2), 1 })
myTable.Rows.Add(New Object() { "Ccc", DateTime.Today.AddDays(3), 8 })
myTable.Rows.Add(New Object() { "Ccc", DateTime.Today.AddDays(2), 22 })
End Sub
Private Sub pivotGridControl1_CustomChartDataSourceData(ByVal sender As Object, ByVal e As DevExpress.XtraPivotGrid.PivotCustomChartDataSourceDataEventArgs) Handles pivotGridControl1.CustomChartDataSourceData
End Sub
Private hotTrackPoint As New Point(-1, -1)
Private Sub chartControl1_ObjectHotTracked(ByVal sender As Object, ByVal e As DevExpress.XtraCharts.HotTrackEventArgs) Handles chartControl1.ObjectHotTracked
Dim point As SeriesPoint = TryCast(e.AdditionalObject, SeriesPoint)
If point Is Nothing Then
InvalidateCell(pivotGridControl1, hotTrackPoint)
hotTrackPoint = New Point(-1, -1)
Else
Dim coordinates As PivotChartDataSourceRowItem = TryCast(point.Tag, PivotChartDataSourceRowItem)
InvalidateCell(pivotGridControl1, hotTrackPoint)
hotTrackPoint.X = coordinates.CellX
hotTrackPoint.Y = coordinates.CellY
InvalidateCell(pivotGridControl1, hotTrackPoint)
End If
End Sub
Private Sub InvalidateCell(ByVal pivot As DevExpress.XtraPivotGrid.PivotGridControl, ByVal cell As Point)
If cell <> New Point(-1, -1) Then
pivot.Invalidate(pivot.Cells.GetCellInfo(cell.X, cell.Y).Bounds)
End If
End Sub
Private Sub pivotGridControl1_CustomDrawCell(ByVal sender As Object, ByVal e As DevExpress.XtraPivotGrid.PivotCustomDrawCellEventArgs) Handles pivotGridControl1.CustomDrawCell
End Sub
Private Sub pivotGridControl1_CustomAppearance(ByVal sender As Object, ByVal e As DevExpress.XtraPivotGrid.PivotCustomAppearanceEventArgs) Handles pivotGridControl1.CustomAppearance
If hotTrackPoint = New Point(-1, -1) Then
Return
End If
If e.RowIndex = hotTrackPoint.Y AndAlso e.ColumnIndex = hotTrackPoint.X Then
e.Appearance.BackColor = Color.LightGreen
End If
End Sub
End Class
End Namespace