📄 defaultvb.aspx.vb
字号:
Imports Telerik.QuickStart
Imports Telerik.WebControls
Imports System.Data.OleDb
Namespace Telerik.ChartExamplesVB.Functionality.DrillDown2
Public Class DefaultVB
Inherits XhtmlPage
Protected RadChart2 As Telerik.WebControls.RadChart
Protected WithEvents RadChart1 As Telerik.WebControls.RadChart
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("En-us")
If Not Page.IsPostBack Then
GetAverageByDay()
End If
GetEntirePicture()
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 GetAverageByDay()
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 * FROM GetAverageByDays", dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
Dim s As ChartSeries = RadChart1.GetChartSeries(0)
s.Items.Clear()
s.Name = "Days"
RadChart1.Title1.Text = "Average Values By Days"
RadChart1.XAxis.Items.Clear()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(0))
item.ItemMap.ToolTip = "Click here to see the value changes for " + reader.GetString(1)
RadChart1.XAxis.AddItem(reader.GetString(1))
s.Items.Add(item)
End While
Finally
dbCon.Dispose()
End Try
End Sub 'GetAverageByDay
Private Sub GetEntirePicture()
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 min(MyDate), max(MyDate) from Table1;", dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Dim minDate As DateTime = reader.GetDateTime(0)
Dim maxDate As DateTime = reader.GetDateTime(1)
RadChart2.XAxis.AutoScale = False
RadChart2.XAxis.AddRange(Math.Floor(minDate.ToOADate()), Math.Ceiling(maxDate.ToOADate()), 1)
End While
reader.Close()
Dim s As ChartSeries = RadChart2.GetChartSeries(0)
s.Items.Clear()
s.Name = "Days"
RadChart2.Title1.Text = "All Data"
s.Type = ChartSeriesType.Line
s.ShowLabels = False
RadChart2.Gridlines.Visible = False
command.CommandText = "Select * from table1"
reader = command.ExecuteReader()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(2))
item.XValue = CDbl(reader.GetDateTime(1).ToOADate())
s.Items.Add(item)
End While
RadChart2.AddChartSeries(s)
Finally
dbCon.Dispose()
End Try
End Sub 'GetEntirePicture
Private Sub GetDataByDay(ByVal day As String)
Dim dbCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data.mdb"))
Try
dbCon.Open()
Dim sqlCommand As String = String.Format("SELECT min(MyDate), max(MyDate) from Table1 where Format(MyDate,'dd.mm.yyyy') = '{0}';", day)
Dim command As New System.Data.OleDb.OleDbCommand(sqlCommand, dbCon)
command.CommandType = CommandType.Text
Dim reader As OleDbDataReader = command.ExecuteReader()
While reader.Read()
Dim minTime As Double = reader.GetDateTime(0).ToOADate()
Dim maxTime As Double = reader.GetDateTime(1).ToOADate()
RadChart1.XAxis.AddRange(minTime, maxTime, 1 / 48.0)
End While
reader.Close()
Dim s As ChartSeries = RadChart1.GetChartSeries(0)
s.Items.Clear()
s.Name = "Days"
RadChart1.Title1.Text = day
RadChart1.XAxis.AutoScale = False
RadChart1.YAxis.AutoScale = True
RadChart1.XAxis.Items.Clear()
RadChart1.XAxis.ValueFormat = ChartValueFormat.ShortTime
RadChart1.XAxis.AutoScale = False
RadChart1.XAxis.LayoutStyle = ChartAxisLayoutStyle.Normal
RadChart1.XAxis.CustomFormat = "hh:mm"
RadChart1.YAxis.AxisStyle = ChartYAxisStyle.Extended
s.PointSize = 0
s.Type = ChartSeriesType.Line
s.ShowLabels = False
RadChart1.Gridlines.Visible = False
sqlCommand = String.Format("SELECT * from Table1 where Format(MyDate,'dd.mm.yyyy') = '{0}';", day)
command.CommandText = sqlCommand
reader = command.ExecuteReader()
While reader.Read()
Dim item As New ChartSeriesItem()
item.YValue = CDbl(reader.GetDecimal(2))
item.XValue = CDbl(reader.GetDateTime(1).ToOADate())
s.Items.Add(item)
End While
reader.Close()
Finally
dbCon.Dispose()
End Try
End Sub 'GetDataByDay
Private Sub RadChart1_Click(ByVal sender As Object, ByVal args As Telerik.WebControls.ChartClickEventArgs) Handles RadChart1.Click
If args.Series.Type = ChartSeriesType.Bar Then
GetDataByDay(RadChart1.XAxis.Items(args.SeriesItem.Index).Label)
Else
GetDataByDay(RadChart1.Title1.Text)
End If
End Sub 'RadChart1_Click
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -