⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 defaultvb.aspx.vb

📁 Telerik是很大的第三方软件制造商
💻 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 + -