我想问一下vb.net中的折线图系列 . 我有一个有两个系列的折线图 . 我想在具有条件的同一列数据库中向每个系列添加数据 .

我在数据库中的表:

Date#####   |  Value1 |  Value2 |   Value3 | Type
 23/04/2014  |  1,2    |    12,3 |    10    | Green
 23/04/2014  |  11,2   |    3    |   10,3   | Non-Green    
 24/04/2014  |  10,9   |    3    |    11    | Green
 24/04/2014  |  2,3    |    12,3 |    8     | Green
 25/04/2014  |  10     |    2    |   10,8   | Non-Green    
 25/04/2014  |  1,4    |    5    |    12    | Green

在对数据库中的代码执行查询后,我有这个表:

Date#####  | Count |Type
 23/04/2014  |  2    | Green
 23/04/2014  |  2    | Non-Green
 24/04/2014  |  3    | Green
 25/04/2014  |  2    | Non-Green
 25/04/2014  |  1    | Green

我想将Greentype数据添加到系列1中,将非绿色数据添加到系列2中以用于每组日期 . 日期将变为x轴,绿色类型的数据值将成为系列1中的y轴和系列2中的非绿色的数据 . 我只能采取其中一种类型,例如我采取绿色类型数据...这是我的代码:

Protected Sub Chart3Date10_Load(sender As Object, e As EventArgs) Handles Chart3Date10.Load Dim sqlProducts As String = "SELECT d, cnt FROM(SELECT TOP 7 [date] AS d, SUM(CASE WHEN Value1 >= 10 THEN 1 ELSE 0 END + CASE WHEN Value2 >= 10 THEN 1 ELSE 0 END + CASE WHEN Value3 >= 10 THEN 1 ELSE 0 END) AS cnt FROM tbBooth where Type = 'Green' GROUP BY [date],[Type] ORDER BY [date] DESC) x ORDER BY d ASC" Dim da As New SqlDataAdapter(sqlProducts, conn) Dim ds As New DataSet() da.Fill(ds, "tbBooth")

Dim ChartArea1 As ChartArea = New ChartArea()
    Dim Legend1 As Legend = New Legend()
    Dim Series1 As Series = New Series()

    Series1.ChartArea = "ChartArea"
    Chart3Date10.TabIndex = 0
    Chart3Date10.Series("Series1").XValueMember = "d"
    Chart3Date10.Series("Series1").YValueMembers = "cnt"
    ' Chart3Date10.Series("Series2").YValueMembers = ""  ''' Don't know how to call the nongreen type
    Chart3Date10.ChartAreas(0).AxisY.LabelAutoFitMaxFontSize = "7"
    Chart3Date10.DataSource = ds.Tables("tbBooth")
    Chart3Date10.ChartAreas(0).AxisX.MajorGrid.Enabled = False
    Chart3Date10.ChartAreas(0).AxisX.LabelStyle.Angle = -45
    With Chart3Date10.Series(0)
        .ChartType = DataVisualization.Charting.SeriesChartType.Line
        .BorderWidth = 4
        .BackSecondaryColor = Drawing.Color.Red
        .BorderColor = Drawing.Color.Blue
        .MarkerStyle = DataVisualization.Charting.MarkerStyle.Triangle
        .MarkerSize = 10
        .MarkerColor = Color.FromArgb(30, 144, 255)
        .MarkerBorderColor = Color.FromArgb(30, 144, 255)
        .Color = Color.FromArgb(30, 144, 255)
    End With
    With Chart3Date10.Series(1)
        '.Points.DataBind(dtGraph.DefaultView, "Column1", "Column2", Nothing)
        .ChartType = DataVisualization.Charting.SeriesChartType.Line
        .BorderWidth = 4
        .BackSecondaryColor = Drawing.Color.Red
        .BorderColor = Drawing.Color.Blue
        .MarkerStyle = DataVisualization.Charting.MarkerStyle.Square
        .MarkerSize = 10
        .MarkerColor = Color.FromArgb(30, 144, 255)
        .MarkerBorderColor = Color.FromArgb(30, 144, 255)
        .Color = Color.FromArgb(30, 144, 255) 'change the color of line
    End With
End Sub

反正怎么办?我应该使用循环来做到这一点吗?

提前致谢...