我目前正在努力探索Visual Basic中的Charts。我可以导入一个DataSet并将其分配给一个Chart Series,并且一切正常......但是,我想知道是否可以从单个DataSet创建多个Series。以类似的方式如下:
Using con = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test\Response.mdb;")
Dim MyQuery As String = "SELECT qry_Response_By_Date_1.Actual_Date, qry_Response_By_Date_1.Mood, Count(qry_Response_By_Date_1.Mood) AS CountOfMood FROM qry_Response_By_Date_1 GROUP BY qry_Response_By_Date_1.Actual_Date, qry_Response_By_Date_1.Mood HAVING (((qry_Response_By_Date_1.Mood)<>'No Response'));"
Using cmd = New OleDbCommand(MyQuery, con)
Dim MyData As New OleDbDataAdapter(MyQuery, con)
Dim MyDataSet As New DataSet
con.Open()
MyData.Fill(MyDataSet, "Table")
ChrtMoodChanges.DataSource = MyDataSet.Tables("Table")
Dim Series1 As Series = ChrtMoodChanges.Series("Series1")
Dim Series2 As Series = ChrtMoodChanges.Series("Series2")
Dim Series3 As Series = ChrtMoodChanges.Series("Series3")
Dim Series4 As Series = ChrtMoodChanges.Series("Series4")
Series1.Name = "Happy"
Series2.Name = "Neutral"
Series3.Name = "Sad"
Series4.Name = "Angry"
ChrtMoodChanges.Series(Series1.Name).XValueMember = "Actual_Date WHERE Mood = 'Happy'"
ChrtMoodChanges.Series(Series1.Name).YValueMembers = "CountOfMood WHERE Mood = 'Happy'"
ChrtMoodChanges.Series(Series2.Name).XValueMember = "Actual_Date WHERE Mood = 'Neutral'"
ChrtMoodChanges.Series(Series2.Name).YValueMembers = "CountOfMood WHERE Mood = 'Neutral'"
ChrtMoodChanges.Series(Series3.Name).XValueMember = "Actual_Date WHERE Mood = 'Sad'"
ChrtMoodChanges.Series(Series3.Name).YValueMembers = "CountOfMood WHERE Mood = 'Sad'"
ChrtMoodChanges.Series(Series4.Name).XValueMember = "Actual_Date WHERE Mood = 'Angry'"
ChrtMoodChanges.Series(Series4.Name).YValueMembers = "CountOfMood WHERE Mood = 'Angry'"
con.Close()
End Using
End Using
它将数据分离出来,所以我想知道是否真的等同于我虚构的“WHERE Mood ='Happy'”代码。