Bonjour
Je Veux Créer StackedColumn en Vb.net qui recupere les données automatiquement à partir d'une base des données.
Un Graphique semilaire à celui là
![]()
Bonjour
Je Veux Créer StackedColumn en Vb.net qui recupere les données automatiquement à partir d'une base des données.
Un Graphique semilaire à celui là
![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 conn = New SqlConnection() conn = connexion() Try Chart5.Series(0).Points.Clear() sql = "select distinct(a.code),SUM(v.time) 'Time' from vacation v INNER JOIN work_cell w ON v.workplace = w.code JOIN cost_center cc ON cc.code = w.cost_center join area a on cc.area = a.code join time_code tc on tc.code=v.code where v.date BETWEEN '" & from_date & "' AND '" & to_date & "' and tc.type='Planned' GROUP BY a.code" Dim cmd As SqlCommand = New SqlCommand(sql, conn) Dim reader As SqlDataReader = cmd.ExecuteReader While reader.Read Chart5.Series("Planned").Points.AddXY(reader.GetValue(0), reader.GetValue(1)) Chart5.Series(0).IsValueShownAsLabel = True End While conn.Close() Catch ex As Exception MsgBox(ex.Message) End Try conn = New SqlConnection() conn = connexion() Try Chart5.Series(1).Points.Clear() sql = "select distinct(a.code),SUM(v.time)'Time' from vacation v INNER JOIN work_cell w ON v.workplace = w.code JOIN cost_center cc ON cc.code = w.cost_center join area a on cc.area = a.code join time_code tc on tc.code=v.code where v.date BETWEEN '" & from_date & "' AND '" & to_date & "' and tc.type='Unplanned' GROUP BY a.code" Dim cmd1 As SqlCommand = New SqlCommand(sql, conn) Dim reader1 As SqlDataReader = cmd1.ExecuteReader While reader1.Read Chart5.Series("Unplanned").Points.AddXY(reader1.GetValue(0), reader1.GetValue(1)) Chart5.Series(1).IsValueShownAsLabel = True End While conn.Close() Catch ex As Exception MsgBox(ex.Message)
Il existe un Chart Control fournit par le framework .NET. Tu auras des infos sur la documentation MSDN .
EDIT :
Je n'avais pas vu ton message. Cependant, merci d'indiquer où tu as des difficultés à arriver au bon résultat.
Hum, je suppose que si tu as deux points qui ont le même "Y" ils s'empileront automatiquement. Dans ton code tu as ceci :
Tu peux, dans un premier temps, remplir ces valeurs "à la main" en mettant deux point ([5;1] et [5;3] par exemple) pour voir si le comportement souhaité est reproduit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 While reader1.Read Chart5.Series("Unplanned").Points.AddXY(reader1.GetValue(0), reader1.GetValue(1)) Chart5.Series(1).IsValueShownAsLabel = True End While
Partager