Public Sub DotNetChartCom(ByVal Chart1 As Chart, ByVal table As DataTable, ByVal multiSeriesGroupField As String, ByVal nameField As String, _ ByVal valueField As String, ByVal Tooltip As String) Chart1.BorderSkin.SkinStyle = BorderSkinStyle.None Chart1.BackColor = Drawing.Color.White Chart1.BorderSkin.BackColor = System.Drawing.Color.White Try Dim dsHelper As New DataSetHelper() Dim listUnique As New List(Of String)() 'Dim multiSeriesGroupField As String = "multiSeriesGroupField" listUnique = New List(Of String)() listUnique.Add(multiSeriesGroupField) Dim dtUnique As DataTable = dsHelper.RemoveDuplicates(table, listUnique) Dim i As Integer = 0 'Chart1.ChartAreas(0).AxisX.Title = "WS Rates" Chart1.ChartAreas(0).BackGradientStyle = GradientStyle.None Chart1.ChartAreas(0).BackColor = Drawing.Color.Transparent Chart1.ChartAreas(0).BackImageTransparentColor = Drawing.Color.Blue 'Grid Color Chart1.ChartAreas(0).AxisY.LineColor = Drawing.Color.LightGray Chart1.ChartAreas(0).AxisX.LineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2") 'Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Drawing.Color.LightGray Chart1.ChartAreas(0).AxisY.MajorGrid.LineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2") Chart1.ChartAreas(0).AxisX.MajorGrid.LineColor = Drawing.Color.WhiteSmoke Chart1.Palette = ChartColorPalette.Grayscale Chart1.BackColor = Drawing.Color.White Chart1.BackSecondaryColor = Drawing.Color.White Chart1.BorderlineColor = Drawing.ColorTranslator.FromHtml("#f9f2f2") Chart1.BorderlineDashStyle = ChartDashStyle.Solid For Each drUnique As DataRow In dtUnique.Rows Dim currentGroup As String = drUnique(multiSeriesGroupField).ToString() Chart1.Legends.Add(currentGroup) Chart1.Legends(currentGroup).Docking = Docking.Bottom Chart1.Legends(currentGroup).Alignment = Drawing.StringAlignment.Center Chart1.Legends(currentGroup).LegendStyle = LegendStyle.Row Dim drs As DataRow() = table.[Select](multiSeriesGroupField & "=" & GetValue(currentGroup)) If drs.Length > 0 Then Chart1.Series.Add(GetValue(drUnique(multiSeriesGroupField).ToString())) Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).PostBackValue = "#AXISLABEL" Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).ToolTip = "#AXISLABEL " + currentGroup + Tooltip + ": #VAL{C}" Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).ChartType = SeriesChartType.Area Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).MarkerStyle = MarkerStyle.Circle Select Case i Case 0 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#667C26") Case 1 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.Color.Beige Case 2 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#817339") Case 3 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#4C7D7E") Case 4 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#736F6E") Case 5 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#56A5EC") Case 6 Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Color = System.Drawing.ColorTranslator.FromHtml("#C8BBBE") End Select Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString()))("ShowMarkerLines") = False For Each drData As DataRow In drs Chart1.Series(GetValue(drUnique(multiSeriesGroupField).ToString())).Points.DataBind(drs, nameField, valueField, "") Next End If i = i + 1 Next ' Data bind to the selected data source Chart1.DataBind() Catch ex As Exception Throw ex End Try End Sub
<asp:Chart ID="Chart1" runat="server"> <Series> <asp:Series Name="Series1" ChartArea="ChartArea1" Color="Blue">; </asp:Series< </Series> <ChartAreas> <asp:ChartArea Name="ChartArea1"> </asp:ChartArea> </ChartAreas> </asp:Chart>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)