📄 defaultvb.aspx.vb
字号:
Imports Telerik.QuickStart
Imports System.Data.OleDb
Imports Telerik.WebControls
Namespace Telerik.ChartExamplesVB.Functionality.DrillDown
Public Class DefaultVB
Inherits XhtmlPage
Protected WithEvents RadChart1 As Telerik.WebControls.RadChart
Private Sub LoadMainData()
Dim dbCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb"))
Try
dbCon.Open()
Dim command As New System.Data.OleDb.OleDbCommand("SELECT sum(revenue) AS rev, year FROM Table1 GROUP BY year;", dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
RadChart1.Title1.Text = "Revenue by years"
Dim s As ChartSeries = RadChart1.GetChartSeries(0)
s.Appearance.MainColor = Color.FromArgb(255, 150, 215)
s.Appearance.SecondColor = Color.FromArgb(197, 0, 65)
s.Name = "Years"
RadChart1.XAxis.AutoScale = False
RadChart1.YAxis.AutoScale = True
RadChart1.XAxis.Items.Clear()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(0))
item.Name = reader.GetInt32(1).ToString()
Dim year As String = reader.GetInt32(1).ToString()
item.ItemMap.ToolTip = "Click here to see the revenue for " + year
RadChart1.XAxis.AddItem(year)
s.Items.Add(item)
End While
Finally
dbCon.Dispose()
End Try
End Sub 'LoadMainData
Private Sub LoadQuarters(ByVal year As String)
Dim dbCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb"))
Try
dbCon.Open()
Dim command As New System.Data.OleDb.OleDbCommand(String.Format("SELECT sum(revenue), quarter from table1 where year={0} group by quarter", year), dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
Dim s As ChartSeries = RadChart1.GetChartSeries(0)
s.Appearance.MainColor = Color.FromArgb(199, 243, 178)
s.Appearance.SecondColor = Color.FromArgb(17, 147, 7)
s.Items.Clear()
s.Name = "Quarters"
RadChart1.Title1.Text = "Revenue for " + year
RadChart1.XAxis.AutoScale = False
RadChart1.YAxis.AutoScale = True
RadChart1.XAxis.Items.Clear()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(0))
item.Name = year
item.ItemMap.ToolTip = "Click here to see the revenue for Quarter" + reader.GetInt32(1).ToString()
RadChart1.XAxis.AddItem(("Quarter " + reader.GetInt32(1).ToString()))
s.Items.Add(item)
End While
Finally
dbCon.Dispose()
End Try
End Sub 'LoadQuarters
Private Sub LoadMonths(ByVal year As String, ByVal quarter As String)
Dim months() As String = New String(11) {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
Dim dbCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb"))
Try
dbCon.Open()
Dim year1 As Integer = Integer.Parse(year) + 2002
Dim command As New System.Data.OleDb.OleDbCommand(String.Format("SELECT revenue, month from table1 where year={0} and quarter={1}", year, quarter), dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
Dim s As ChartSeries = RadChart1.GetChartSeries(0)
s.Appearance.MainColor = Color.FromArgb(253, 226, 0)
s.Appearance.SecondColor = Color.FromArgb(255, 156, 0)
s.Items.Clear()
s.Name = "Months"
RadChart1.Title1.Text = "Year " + year + ", Quarter " + quarter
RadChart1.XAxis.AutoScale = False
RadChart1.YAxis.AutoScale = True
RadChart1.XAxis.Items.Clear()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(0))
item.ItemMap.ToolTip = "Revenue for " + months((reader.GetInt32(1) - 1)) + ". No more data!"
RadChart1.XAxis.AddItem(months((reader.GetInt32(1) - 1)))
s.Items.Add(item)
End While
Finally
dbCon.Dispose()
End Try
End Sub 'LoadMonths
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
LoadMainData()
End If
End Sub 'Page_Load
#Region "Web Form Designer generated code"
Protected Overrides Sub OnInit(ByVal e As EventArgs)
'
' CODEGEN: This call is required by the ASP.NET Web Form Designer.
'
InitializeComponent()
MyBase.OnInit(e)
End Sub 'OnInit
'/ Required method for Designer support - do not modify
'/ the contents of this method with the code editor.
'/ </summary>
Private Sub InitializeComponent()
End Sub 'InitializeComponent
#End Region
Private Sub RadChart1_Click(ByVal sender As Object, ByVal args As Telerik.WebControls.ChartClickEventArgs) Handles RadChart1.Click
If Not (args.Series Is Nothing) Then
If args.Series.Name.Equals("Years") Then
If Not (args.SeriesItem Is Nothing) Then
LoadQuarters(args.SeriesItem.Name)
End If
ElseIf args.Series.Name.Equals("Quarters") Then
If Not (args.SeriesItem Is Nothing) Then
LoadMonths(args.SeriesItem.Name, (args.SeriesItem.Index + 1).ToString())
End If
End If
End If
End Sub 'RadChart1_Click
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -