📄 sample.aspx
字号:
SummerySeriesType.Items.Add("Column")
SummerySeriesType.Items.Add("Cylinder")
SummerySeriesType.Items.Add("Marker")
SummerySeriesType.Items.Add("Line")
SummerySeriesType.Items.Add("AreaLine")
SummerySeriesType.Items.Add("Spline")
SummerySeriesType.SelectedIndex = 3
DropDownLimitMode.Items.Add("Top")
DropDownLimitMode.Items.Add("Bottom")
DropDownLimitMode.Items.Add("ExcludeTop")
DropDownLimitMode.Items.Add("ExcludeBottom")
End If
End Sub 'Page_Load
Sub ButtonDisplay_Click(sender As [Object], e As EventArgs)
Dim myChartType As dotnetCHARTING.ChartType = CType([Enum].Parse(GetType(dotnetCHARTING.ChartType), DropDownChartType.SelectedItem.Value, True), dotnetCHARTING.ChartType)
Dim myAxisScale As dotnetCHARTING.Scale = CType([Enum].Parse(GetType(dotnetCHARTING.Scale), DropDownScale.SelectedItem.Value, True), dotnetCHARTING.Scale)
Dim mySeriesType As dotnetCHARTING.SeriesType = CType([Enum].Parse(GetType(dotnetCHARTING.SeriesType), DropDownSeriesType.SelectedItem.Value, True), dotnetCHARTING.SeriesType)
Dim show As String = DropDownShow.SelectedItem.Value
Dim yearFromDate As String = YearFrom.SelectedItem.Value
Dim monthFromDate As String = MonthFrom.SelectedItem.Value
Dim dayFromDate As String = DayFrom.SelectedItem.Value
Dim yearToDate As String = YearTo.SelectedItem.Value
Dim monthToDate As String = MonthTo.SelectedItem.Value
Dim dayToDate As String = DayTo.SelectedItem.Value
Dim myDategrouping As dotnetCHARTING.TimeInterval = TimeInterval.Year
Dim ByCustomer As String = ""
If DropDownBy.SelectedItem.Value = "Customer" Then
ByCustomer = "Customer"
Else
myDategrouping = CType([Enum].Parse(GetType(dotnetCHARTING.TimeInterval), DropDownBy.SelectedItem.Value, True), dotnetCHARTING.TimeInterval)
End If
Dim splitBy As String = SplitByDropdown.SelectedItem.Value
Dim splitByLimit As String = SplitByLimitTextbox.Text
Dim seriesAggregation As String = DropDownSeriesAggregation.SelectedItem.Value
Dim limit As String = TextBoxLimit.Text
Dim show3D As String = Chart3D.SelectedItem.Value
Dim reportType As String = show + "by"
If ByCustomer <> "" Then
reportType += ByCustomer
Else
reportType += myDategrouping.ToString()
End If
Dim SqlSelect As StringBuilder = Nothing
Dim where As StringBuilder = Nothing
If yearFromDate <> "" And monthFromDate <> "" And dayFromDate <> "" Or(yearToDate <> "" And monthToDate <> "" And dayToDate <> "") Then
where = New StringBuilder(" WHERE ")
If yearFromDate <> "" And monthFromDate <> "" And dayFromDate <> "" Then
Chart.DefaultSeries.StartDate = New DateTime(Convert.ToInt32(yearFromDate), Convert.ToInt32(monthFromDate), Convert.ToInt32(dayFromDate), 0, 0, 0)
where.Append("OrderDate >= #STARTDATE#")
If yearToDate <> "" And monthToDate <> "" And dayToDate <> "" Then
Chart.DefaultSeries.EndDate = New DateTime(Convert.ToInt32(yearToDate), Convert.ToInt32(monthToDate), Convert.ToInt32(dayToDate), 23, 59, 59)
where.Append("AND OrderDate <= #ENDDATE#")
End If
Else
Chart.DefaultSeries.EndDate = New DateTime(Convert.ToInt32(yearToDate), Convert.ToInt32(monthToDate), Convert.ToInt32(dayToDate), 23, 59, 59)
where.Append("AND OrderDate <= #ENDDATE#")
End If
Else
Dim daySelection As String = Day.SelectedItem.Value
Dim monthSelection As String = Month.SelectedItem.Value
Dim yearSelection As String = Year.SelectedItem.Value
If yearSelection <> "" And monthSelection <> "" And daySelection <> "" Then
Dim d As Integer = DateTime.DaysInMonth(Integer.Parse(yearSelection), Integer.Parse(monthSelection))
If Integer.Parse(daySelection) > d Then
daySelection = d.ToString()
Day.SelectedIndex = d
End If
Do
If myDategrouping = TimeInterval.Day Or myDategrouping = TimeInterval.Hours Then
Chart.DefaultSeries.StartDate = New DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), Convert.ToInt32(daySelection), 0, 0, 0)
Chart.DefaultSeries.EndDate = New DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), Convert.ToInt32(daySelection), 23, 59, 59)
where = New StringBuilder(" WHERE OrderDate >= #STARTDATE# AND OrderDate <= #ENDDATE# ")
Exit Do
Else
If myDategrouping = TimeInterval.Month Or myDategrouping = TimeInterval.Days Or myDategrouping = TimeInterval.Weeks Then
Chart.DefaultSeries.StartDate = New DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), 1, 0, 0, 0)
Chart.DefaultSeries.EndDate = New DateTime(Convert.ToInt32(yearSelection), Convert.ToInt32(monthSelection), d, 23, 59, 59)
where = New StringBuilder(" WHERE OrderDate >= #STARTDATE# ")
where.Append("AND OrderDate <= #ENDDATE#")
Exit Do
Else
If myDategrouping = TimeInterval.Year Or myDategrouping = TimeInterval.Quarter Or myDategrouping = TimeInterval.Weeks Then
Chart.DefaultSeries.StartDate = New DateTime(Convert.ToInt32(yearSelection), 1, 1, 0, 0, 0)
Chart.DefaultSeries.EndDate = New DateTime(Convert.ToInt32(yearSelection), 12, 31, 23, 59, 59)
where = New StringBuilder(" WHERE OrderDate >= #STARTDATE# ")
where.Append("AND OrderDate <= #ENDDATE#")
Exit Do
End If
End If
End If
Loop While False
End If
End If
'General settings
Chart.Visible = True
Chart.Type = myChartType
Chart.DefaultSeries.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;user id=admin;password=;data source=" + Server.MapPath("../../database/Chartsample.mdb")
Chart.Height = Unit.Parse(480)
Chart.Width = Unit.Parse(640)
Chart.UseFile = True
Chart.TempDirectory = "temp"
Chart.TitleBox.IconPath = "icon.gif"
Chart.DefaultSeries.Limit = limit
Chart.DefaultSeries.LimitMode = CType([Enum].Parse(GetType(dotnetCHARTING.LimitMode), DropDownLimitMode.SelectedItem.Value, True), dotnetCHARTING.LimitMode)
Chart.Debug = True
Chart.DonutHoleSize = 50
Chart.LegendBox.Template = "%icon%name"
If ShowValues.Checked Then
Chart.DefaultSeries.DefaultElement.ShowValue = True
End If
If show3D = "true" Then
Chart.Use3D = True
Else
Chart.Use3D = False
End If
If Transpose.Checked Then
Chart.Transpose = True
End If
If ShowOther.Checked Then
Chart.DefaultSeries.ShowOther = True
Else
Chart.DefaultSeries.ShowOther = False
End If
Chart.DefaultSeries.Type = mySeriesType
Chart.DefaultAxis.Scale = myAxisScale
If ByCustomer = "" And myChartType <> ChartType.Scatter And myChartType <> ChartType.Bubble Then
Chart.DateGrouping = myDategrouping
If DropDownShow.SelectedItem.Value = "Sales" Then
Chart.YAxis.FormatString = "currency"
Else
Chart.DefaultAxis.NumberPercision = 1
End If
End If
reportType = reportType.ToLower()
If myChartType.Equals(ChartType.Bubble) Then
'set global properties
Chart.Title = "Sales comparison for 3 days"
Chart.YAxis.Label.Text = "Sales"
Chart.XAxis.Label.Text = "No of Items"
Chart.Palette = New Color() {Color.Blue, Color.Red, Color.Yellow}
Chart.DefaultSeries.DefaultElement.Transparency = 50
Chart.XAxis.NumberPercision = 2
Chart.LegendBox.Template = "%icon %name"
'Add a series
Chart.Series.Name = "Dec 6,2002"
Chart.Series.StartDate = New DateTime(2002, 12, 6, 0, 0, 0)
Chart.Series.EndDate = New DateTime(2002, 12, 6, 23, 59, 59)
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
'Add a series
Chart.Series.Name = "Dec 7,2002"
Chart.Series.StartDate = New DateTime(2002, 12, 7, 0, 0, 0)
Chart.Series.EndDate = New DateTime(2002, 12, 7, 23, 59, 59)
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
'Add a series
Chart.Series.Name = "Dec 8,2002"
Chart.Series.StartDate = New DateTime(2002, 12, 8, 0, 0, 0)
Chart.Series.EndDate = New DateTime(2002, 12, 8, 23, 59, 59)
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Sum(Orders.Total), Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
Else
If myChartType.Equals(ChartType.Scatter) Then
Chart.Title = show + " By item no"
Chart.YAxis.Label.Text = show
Chart.XAxis.Label.Text = "Item No"
Chart.DefaultSeries.Name = "Dec 6-8,2002"
Chart.DefaultSeries.StartDate = New DateTime(2002, 12, 6, 0, 0, 0)
Chart.DefaultSeries.EndDate = New DateTime(2002, 12, 8, 23, 59, 59)
Chart.DefaultSeries.DefaultElement.LabelTemplate = "(%xvalue, %yvalue)"
Chart.XAxis.NumberPercision = 2
Select Case show.ToLower()
Case "sales"
'Add a series
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Sum(Orders.Total) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
Case "orders"
'Add a series
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Count(1) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
Case "items"
'Add a series
Chart.Series.SqlStatement = "SELECT Orders.ItemNo,Sum(Orders.Quantity) FROM Orders WHERE (Orders.OrderDate >= #STARTDATE#) And (Orders.OrderDate <= #ENDDATE# ) GROUP BY Orders.ItemNo"
Chart.SeriesCollection.Add()
End Select
Else
If Sum.Checked Then
Chart.Series.Elements.Add(Calculation.Sum, "Total")
End If
If Average.Checked Then
Chart.Series.Elements.Add(Calculation.Average, "Average")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -