📄 defaultvb.aspx.vb
字号:
Imports Telerik.QuickStart
Imports System.Data.OleDb
Imports Telerik.WebControls
Namespace Telerik.ChartExamplesVB.Programming.AddingSeries
Public Class DefaultVB
Inherits XhtmlPage
Private Shared months As String() = {"JAN", "FEB", "MAR", "APR", "MAY", "JUN", "JUL", "AUG", "SEP", "OCT", "NOV", "DEC"}
Private Shared defaultColors As Color() = {Color.AliceBlue, Color.AntiqueWhite, Color.Aqua, Color.Aquamarine, Color.Azure, Color.Beige, Color.Bisque}
Private Shared defaultNames As String() = {"Paul", "Marry", "John", "Helen", "George", "Alice", "Richard"}
Protected Label1 As System.Web.UI.WebControls.Label
Protected labelFirstMonth As System.Web.UI.WebControls.Label
Protected labelSecondMonth As System.Web.UI.WebControls.Label
Protected labelThirdMonth As System.Web.UI.WebControls.Label
Protected Label2 As System.Web.UI.WebControls.Label
Protected WithEvents dropDownQuarter As System.Web.UI.WebControls.DropDownList
Protected txtBoxSalary1 As System.Web.UI.WebControls.TextBox
Protected txtBoxSalary2 As System.Web.UI.WebControls.TextBox
Protected txtBoxSalary3 As System.Web.UI.WebControls.TextBox
Protected WithEvents btnAddEmployee As System.Web.UI.WebControls.Button
Protected WithEvents btnRemoveEmployee As System.Web.UI.WebControls.Button
Protected WithEvents btnApplyMinSalary As System.Web.UI.WebControls.Button
Protected RadChart1 As Telerik.WebControls.RadChart
Protected txtBoxMinSalary As System.Web.UI.WebControls.TextBox
Sub SetRandomSalaries()
btnApplyMinSalary_Click(Nothing, System.EventArgs.Empty)
Try
Dim r As New Random()
Dim minValue As Integer = Integer.Parse(txtBoxMinSalary.Text)
Dim chartSeries As chartSeries
For Each chartSeries In RadChart1.ChartSeriesCollection
Dim seriesItem As ChartSeriesItem
For Each seriesItem In chartSeries.Items
seriesItem.YValue = minValue + r.NextDouble() * 900
Next seriesItem
Next chartSeries
Catch
End Try
End Sub 'SetRandomSalaries
Sub SetXAxis(ByVal quarterIndex As Integer)
labelFirstMonth.Text = months((quarterIndex * 3 + 0))
labelSecondMonth.Text = months((quarterIndex * 3 + 1))
labelThirdMonth.Text = months((quarterIndex * 3 + 2))
RadChart1.XAxis.AutoScale = False
If RadChart1.XAxis.Items.Count >= 3 Then
' JUST CHANGING THE LABES OF THE X AXIS.
RadChart1.XAxis(0).Label = labelFirstMonth.Text
RadChart1.XAxis(1).Label = labelSecondMonth.Text
RadChart1.XAxis(2).Label = labelThirdMonth.Text
Else
' ADDING NEW ELEMENTS TO THE X AXIS.
RadChart1.XAxis.Clear()
RadChart1.XAxis.AddItem(labelFirstMonth.Text)
RadChart1.XAxis.AddItem(labelSecondMonth.Text)
RadChart1.XAxis.AddItem(labelThirdMonth.Text)
End If
End Sub 'SetXAxis
Sub SetYAxis(ByVal minSalary As Integer)
' ADDING NEW VALUES TO THE Y AXIS.
RadChart1.YAxis.AddRange(minSalary, minSalary + 1000, 100)
End Sub 'SetYAxis
Sub SetSeriesAppearance(ByVal series As ChartSeries)
series.Appearance.BorderColor = Color.Black
series.Appearance.FillStyle = FillStyle.Solid
series.LabelAppearance.Background.BorderColor = Color.Black
series.LabelAppearance.Background.MainColor = Color.White
series.LabelAppearance.TextFont = New Font("Arial", 8)
series.LabelAppearance.TextColor = Color.Black
series.LabelAppearance.Distance = 5
series.DefaultLabel = "#Y{N0}"
End Sub 'SetSeriesAppearance
Sub InitRadChart()
RadChart1.Clear()
' SETTING AXISES
SetXAxis(0)
RadChart1.XAxis.LayoutStyle = ChartAxisLayoutStyle.Between
RadChart1.YAxis.AutoScale = False
SetYAxis(500)
txtBoxMinSalary.Text = 500.ToString()
' SETTING SERIES
Dim series1 As ChartSeries = RadChart1.CreateSeries(defaultNames(0), defaultColors(0), ChartSeriesType.Bar)
SetSeriesAppearance(series1)
Dim series2 As ChartSeries = RadChart1.CreateSeries(defaultNames(1), defaultColors(1), ChartSeriesType.Bar)
SetSeriesAppearance(series2)
series1.AddItem(1200)
series1.AddItem(1300)
series1.AddItem(1100)
series2.AddItem(1100)
series2.AddItem(1200)
series2.AddItem(1300)
End Sub 'InitRadChart
Sub InitComponents()
InitRadChart()
End Sub 'InitComponents
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
InitComponents()
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 DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles dropDownQuarter.SelectedIndexChanged
SetXAxis(dropDownQuarter.SelectedIndex)
SetRandomSalaries()
End Sub 'DropDownList1_SelectedIndexChanged
Private Sub btnAddEmployee_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddEmployee.Click
Dim seriesCount As Integer = RadChart1.ChartSeriesCollection.Count
Dim nextIndex As Integer = seriesCount Mod defaultColors.Length
Dim newSeries As ChartSeries = RadChart1.CreateSeries(defaultNames(nextIndex), defaultColors(nextIndex), ChartSeriesType.Bar)
Try
newSeries.AddItem(Double.Parse(txtBoxSalary1.Text))
newSeries.AddItem(Double.Parse(txtBoxSalary2.Text))
newSeries.AddItem(Double.Parse(txtBoxSalary3.Text))
Catch
Dim r As New Random()
Dim minSalary As Integer
Try
minSalary = Integer.Parse(txtBoxMinSalary.Text)
Catch
minSalary = 500
End Try
newSeries.AddItem((minSalary + r.NextDouble() * 900))
newSeries.AddItem((minSalary + r.NextDouble() * 900))
newSeries.AddItem((minSalary + r.NextDouble() * 900))
End Try
SetSeriesAppearance(newSeries)
RadChart1.YAxis.IsZeroBased = False
RadChart1.YAxis.Step = 100
RadChart1.Legend.Visible = True
SetYAxis(Integer.Parse(txtBoxMinSalary.Text))
End Sub 'btnAddEmployee_Click
Private Sub btnApplyMinSalary_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnApplyMinSalary.Click
Try
SetYAxis(Integer.Parse(txtBoxMinSalary.Text))
Catch
End Try
End Sub 'btnApplyMinSalary_Click
Private Sub btnRemoveEmployee_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRemoveEmployee.Click
If RadChart1.ChartSeriesCollection.Count > 0 Then
RadChart1.ChartSeriesCollection.RemoveAt((RadChart1.ChartSeriesCollection.Count - 1))
If RadChart1.ChartSeriesCollection.Count = 0 Then
RadChart1.Legend.Visible = False
End If
End If
End Sub 'btnRemoveEmployee_Click
Private Sub dropDownEmployeeName_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
End Sub 'dropDownEmployeeName_SelectedIndexChanged
End Class
End Namespace
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -