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
bonjour
1/Tes 2 requêtes doivent renvoyer le même nombre de lignes !!!
Il faut un compteur dans chaque boucle While et dans la 2eme boucle While sortir si les 2 compteurs sont égaux !!!
2/Essayons de deviner pour répondre au souci ....!!!
Dans ce code :
- reader1.GetValue(0) ....C'est quoi comme type ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 While reader1.Read Chart5.Series("Unplanned").Points.AddXY(reader1.GetValue(0), reader1.GetValue(1)) Chart5.Series(1).IsValueShownAsLabel = True End While
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager