📄 defaultvb.aspx.vb
字号:
Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports Telerik.QuickStart
Imports Telerik.WebControls
Namespace Telerik.ChartExamplesVB.Configurator.Elements.Series
'/ <summary>
'/ Summary description for _Default.
'/ </summary>
Public Class DefaultVB
Inherits XhtmlPage
Protected WithEvents Button2 As System.Web.UI.WebControls.Button
Protected WithEvents Button3 As System.Web.UI.WebControls.Button
Protected WithEvents ddlSeries As System.Web.UI.WebControls.DropDownList
Protected ddlSeriesType As System.Web.UI.WebControls.DropDownList
Protected WithEvents ddlAxisLayout As System.Web.UI.WebControls.DropDownList
Protected tbSeriesName As System.Web.UI.WebControls.TextBox
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected RadChart1 As Telerik.WebControls.RadChart
Private Shared MainColors As Color() = {Color.FromArgb(199, 243, 178), Color.FromArgb(253, 226, 0), Color.FromArgb(0, 111, 223), Color.FromArgb(255, 153, 32), Color.FromArgb(197, 0, 65)}
Protected ddlAlignment As System.Web.UI.WebControls.DropDownList
Protected txtBoxLabelDistance As System.Web.UI.WebControls.TextBox
Protected txtBoxLabelRotationAngle As System.Web.UI.WebControls.TextBox
Protected ddlDefaultLabel As System.Web.UI.WebControls.DropDownList
Protected lblIncorrectSettings As System.Web.UI.WebControls.Label
Private Shared SecondColors As Color() = {Color.FromArgb(17, 147, 7), Color.FromArgb(255, 156, 0), Color.FromArgb(154, 233, 255), Color.FromArgb(255, 200, 182), Color.FromArgb(255, 150, 215)}
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
InitControls()
SetControlValues()
End If
End Sub 'Page_Load
Private Sub InitControls()
InitControl(ddlAxisLayout, GetType(ChartAxisLayoutStyle))
InitControl(ddlSeriesType, GetType(ChartSeriesType))
InitControl(ddlAlignment, GetType(ContentAlignment))
End Sub 'InitControls
Private Sub SetControlValues()
InitdllSeries()
SetValuesFromSeries(RadChart1.GetChartSeries(ddlSeries.SelectedIndex))
End Sub 'SetControlValues
Private Sub InitControl(ByVal ddl As DropDownList, ByVal type As Type)
Dim valueNames As String() = [Enum].GetNames(type)
ddl.Items.Clear()
Dim s As String
For Each s In valueNames
ddl.Items.Add(s)
Next s
End Sub 'InitControl
Private Sub InitdllSeries()
ddlSeries.Items.Clear()
Dim series As ChartSeries
For Each series In RadChart1.ChartSeriesCollection
ddlSeries.Items.Add(series.Name)
Next series
End Sub 'InitdllSeries
Private Sub SetValuesFromSeries(ByVal series As ChartSeries)
If Not (series Is Nothing) Then
SetControlValue(ddlSeriesType, series.Type.ToString())
tbSeriesName.Text = series.Name
txtBoxLabelDistance.Text = series.LabelAppearance.Distance.ToString()
SetControlValue(ddlAlignment, series.LabelAppearance.Alignment.ToString())
txtBoxLabelRotationAngle.Text = series.LabelAppearance.RotationAngle.ToString()
Dim s As ChartSeries
For Each s In RadChart1.ChartSeriesCollection
s.Appearance.BorderColor = Color.DimGray
Next s
series.Appearance.BorderColor = Color.Red
End If
End Sub 'SetValuesFromSeries
Private Sub SetControlValue(ByVal ddList As DropDownList, ByVal val As String)
ddList.SelectedItem.Selected = False
ddList.Items.FindByValue(val).Selected = True
End Sub 'SetControlValue
#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 ddlSeries_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlSeries.SelectedIndexChanged
SetValuesFromSeries(RadChart1.GetChartSeries(ddlSeries.SelectedIndex))
End Sub 'ddlSeries_SelectedIndexChanged
Private Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
Try
ModifySeries(RadChart1.GetChartSeries(ddlSeries.SelectedIndex))
SetControlValues()
lblIncorrectSettings.Visible = False
Catch
lblIncorrectSettings.Visible = True
End Try
End Sub 'Button3_Click
Private Sub ModifySeries(ByVal series As ChartSeries)
series.Type = CType([Enum].Parse(GetType(ChartSeriesType), ddlSeriesType.SelectedItem.Value), ChartSeriesType)
series.Name = tbSeriesName.Text
Dim item As ChartSeriesItem
For Each item In series.Items
item.Label = ddlDefaultLabel.SelectedItem.Value
Next item
series.DefaultLabel = ddlDefaultLabel.SelectedItem.Value
series.LabelAppearance.Alignment = CType([Enum].Parse(GetType(ContentAlignment), ddlAlignment.SelectedItem.Value), ContentAlignment)
series.LabelAppearance.Distance = Integer.Parse(txtBoxLabelDistance.Text)
series.LabelAppearance.RotationAngle = Double.Parse(txtBoxLabelRotationAngle.Text)
End Sub 'ModifySeries
Private Sub ddlAxisLayout_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlAxisLayout.SelectedIndexChanged
RadChart1.XAxis.LayoutStyle = CType([Enum].Parse(GetType(ChartAxisLayoutStyle), ddlAxisLayout.SelectedItem.Value), ChartAxisLayoutStyle)
End Sub 'ddlAxisLayout_SelectedIndexChanged
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If RadChart1.ChartSeriesCollection.Count > 0 Then
RadChart1.RemoveSeriesAt(ddlSeries.SelectedIndex)
SetControlValues()
End If
End Sub 'Button1_Click
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim seriesType As ChartSeriesType = CType([Enum].Parse(GetType(ChartSeriesType), ddlSeriesType.SelectedItem.Value), ChartSeriesType)
Dim series As ChartSeries = RadChart1.CreateSeries(tbSeriesName.Text, Color.Blue, seriesType)
ModifySeries(series)
Dim r As New Random()
series.AddItem(r.Next(-100, 100), "A")
series.AddItem(r.Next(-100, 100), "B")
series.AddItem(r.Next(-100, 100), "C")
series.AddItem(r.Next(-100, 100), "D")
series.Name = "Series " + (ddlSeries.Items.Count + 1).ToString()
series.LabelAppearance.TextFont = New Font("Arial", 9, FontStyle.Bold)
series.LabelAppearance.TextColor = Color.DimGray
series.Appearance.MainColor = MainColors(((RadChart1.ChartSeriesCollection.Count - 1) Mod MainColors.Length))
series.Appearance.SecondColor = SecondColors(((RadChart1.ChartSeriesCollection.Count - 1) Mod SecondColors.Length))
series.Appearance.FillStyle = FillStyle.Gradient
If series.Type = ChartSeriesType.Pie Then
Dim seriesItem As ChartSeriesItem
For Each seriesItem In series.Items
seriesItem.YValue = Math.Abs(seriesItem.YValue)
Next seriesItem
End If
SetControlValues()
End Sub 'Button2_Click
End Class 'DefaultCS
End Namespace 'Telerik.ChartExamplesCS.Series
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -