📄 defaultvb.aspx.vb
字号:
Label9.Text = "<pre>" + Server.HtmlEncode(GetFormatedXml(RadChart1.GetXml())) + "</pre>"
End If
End If
End Sub 'OnPreRender
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
InitComponents()
Else
End If
End Sub 'Page_Load
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
'/ <summary>
'/ Required method for Designer support - do not modify
'/ the contents of this method with the code editor.
'/ </summary>
Private Sub InitializeComponent()
End Sub 'InitializeComponent
Private Sub btnGenNewSeries_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGenNewSeries.Click
Dim s As ChartSeries = RadChart1.CreateSeries("Series " + (RadChart1.ChartSeriesCollection.Count + 1).ToString(), Color.FromArgb(139, 255, 0, 0), ChartSeriesType.Bar)
s.Appearance.BorderColor = Color.Black
s.Appearance.FillStyle = FillStyle.Solid
Dim r As New Random()
Dim dgc As DataGridColumn
For Each dgc In dataGridData.Columns
Dim colIndex As Integer = dataGridData.Columns.IndexOf(dgc)
If colIndex > 0 AndAlso dgc.Visible Then
s.AddItem(r.Next(-10, 10), "Item " + colIndex.ToString())
End If
Next dgc
UpdateDataGridSeries()
UpdateDataGridData()
End Sub 'btnGenNewSeries_Click
Private Sub ReadGrid()
RadChart1.RemoveAllSeries()
End Sub 'ReadGrid
Private Sub UpdateColorDropDown(ByVal ddList As DropDownList, ByVal color As Color)
Dim cc As New ColorConverter()
Dim colorName As String = cc.ConvertToString(color)
Dim item As ListItem
For Each item In ddList.Items
If item.Text.Equals(colorName) Then
ddList.SelectedIndex = ddList.Items.IndexOf(item)
Exit For
End If
Next item
End Sub 'UpdateColorDropDown
Private Sub btnRemoveSeries_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRemoveSeries.Click
If RadChart1.ChartSeriesCollection.Count > 1 Then
RadChart1.ChartSeriesCollection.RemoveAt((RadChart1.ChartSeriesCollection.Count - 1))
UpdateDataGridSeries()
UpdateDataGridData()
End If
End Sub 'btnRemoveSeries_Click
Private Sub UpdateRadChart()
Dim cc As New ColorConverter()
Dim s As ChartSeries = Nothing
RadChart1.RemoveAllSeries()
RadChart1.BarOverlapPercent = Decimal.Parse(txtBoxBarOverlapPercent.Text)
RadChart1.BarWidthPercent = Decimal.Parse(txtBoxBarWidthPercent.Text)
Dim item As DataGridItem
For Each item In dataGridSeries.Items
Dim seriesName As String = CType(item.FindControl("txtBoxSeriesName"), TextBox).Text
Dim seriesType As String = CType(item.FindControl("dropDownSeriesType"), DropDownList).SelectedItem.Text
Dim dropDownColor As String = CType(item.FindControl("dropDownSeriesColor"), DropDownList).SelectedItem.Text
Dim seriesColor As Color = CType(cc.ConvertFromString(dropDownColor), Color)
Dim ec As New EnumConverter(GetType(ChartSeriesType))
If seriesName <> String.Empty AndAlso seriesType <> String.Empty Then
s = RadChart1.CreateSeries(seriesName, seriesColor, CType(ec.ConvertFromString(seriesType), ChartSeriesType))
s.Appearance.FillStyle = FillStyle.Solid
End If
If Not (s Is Nothing) Then
s.ShowLabels = CType(item.FindControl("checkBoxShowLabels"), CheckBox).Checked
Dim showPercent As Boolean = CType(item.FindControl("checkBoxShowPercent"), CheckBox).Checked
Dim showValues As Boolean = CType(item.FindControl("checkBoxShowValues"), CheckBox).Checked
s.DefaultLabel = ""
If showPercent AndAlso showValues Then
s.DefaultLabel = "#Y, #%"
Else
If showPercent Then
s.DefaultLabel = "#%"
End If
If showValues Then
s.DefaultLabel = "#Y"
End If
End If
'
' if ( (s.Type == ChartSeriesType.StackedBar100) || (s.SeriesType == ChartSeriesType.StackedArea100) )
' {
' s.ShowStackedValues = ((CheckBox) item.FindControl("checkBoxShowPercent")).Checked;
' }
' else
' {
' s.ShowPercent = ((CheckBox) item.FindControl("checkBoxShowPercent")).Checked;
' }
'
s.LabelAppearance.Distance = Integer.Parse(CType(item.FindControl("txtBoxLabelOffset"), TextBox).Text)
s.LabelAppearance.Background.BorderColor = Color.Black
s.LabelAppearance.Background.MainColor = Color.White
s.LabelAppearance.TextFont = New Font("Times New Roman", 8)
Dim transparency As Integer = Integer.Parse(CType(item.FindControl("txtBoxTransparency"), TextBox).Text)
s.MainColor = Color.FromArgb(transparency, s.MainColor.R, s.MainColor.G, s.MainColor.B)
s.Appearance.BorderColor = Color.Black
End If
Dim dataItem As DataGridItem = dataGridData.Items(item.ItemIndex)
Dim colIndex As Integer = 0
Dim itemIndex As Integer = 0
Dim cell As TableCell
For Each cell In dataItem.Cells
If dataGridData.Columns(colIndex).Visible Then
Dim control As System.Web.UI.Control
For Each control In cell.Controls
If TypeOf control Is TextBox Then
Dim textValue As String = CType(control, TextBox).Text
If textValue <> String.Empty Then
Try
Dim val As Double = Double.Parse(textValue)
If s.Type = ChartSeriesType.Pie AndAlso val < 0 Then
val = -val
End If
s.AddItem(val)
Catch
s.AddItem(0)
End Try
Else
s.AddItem(0)
End If
itemIndex += 1
End If
Next control
End If
colIndex = colIndex + 1
Next cell
Next item
End Sub 'UpdateRadChart
Private Sub btnUpdateChart_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnUpdateChart.Click
Try
UpdateRadChart()
lblIncorrectSettings.Visible = False
Catch
lblIncorrectSettings.Visible = True
End Try
End Sub 'btnUpdateChart_Click
Private Sub btnToggleXml_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Label9.Visible = Not Label9.Visible
End Sub 'btnToggleXml_Click
' panelXml.Visible = !panelXml.Visible;
Private Sub btnAddCol_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAddCol.Click
Dim dgc As DataGridColumn
For Each dgc In dataGridData.Columns
If Not dgc.Visible Then
If dataGridData.Columns.IndexOf(dgc) = dataGridData.Columns.Count - 1 Then
btnAddCol.Enabled = False
End If
dgc.Visible = True
Exit For
End If
Next dgc
btnRemoveCol.Enabled = True
End Sub 'btnAddCol_Click
Private Sub btnRemoveCol_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnRemoveCol.Click
Dim lastDataGridColumn As DataGridColumn = Nothing
Dim dgc As DataGridColumn
For Each dgc In dataGridData.Columns
If Not dgc.Visible Then
Exit For
End If
lastDataGridColumn = dgc
Next dgc
If dataGridData.Columns.IndexOf(lastDataGridColumn) > 3 Then
If Not (lastDataGridColumn Is Nothing) Then
lastDataGridColumn.Visible = False
End If
If dataGridData.Columns.IndexOf(lastDataGridColumn) = 4 Then
btnRemoveCol.Enabled = False
End If
End If
btnAddCol.Enabled = True
UpdateRadChart()
End Sub 'btnRemoveCol_Click
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
UpdateRadChart()
lblIncorrectSettings.Visible = False
Catch
lblIncorrectSettings.Visible = True
End Try
End Sub 'Button1_Click
Private Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
If ViewState("XmlLabel") Is Nothing Then
ViewState("XmlLabel") = Not Label9.Visible
Else
ViewState("XmlLabel") = Not CBool(ViewState("XmlLabel"))
End If
End Sub 'Button2_Click
End Class 'DefaultCS
End Namespace 'Telerik.ChartExamplesCS.Data
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -