private void CreerGraphique(ZedGraphControl zgc) { string filePath = "http://www.............."; XmlTextReader txtReader = new XmlTextReader(filePath); statsdataset.Clear(); statsdataset.ReadXml(txtReader); dataGridView1.DataSource = statsdataset; dataGridView1.DataMember = "stat"; double[] ca = new double[12]; double[] precCa = new double[12]; DataRow row = statsdataset.Tables["stat"].Rows[0]; for (int i = 0; i < 12; i++) { ca[i] = Convert.ToDouble(row["ca_" + (i + 1).ToString()].ToString().Replace('.', ',')); precCa[i] = Convert.ToDouble(row["ca_prec_" + (i + 1).ToString()].ToString().Replace('.', ',')); } GraphPane myPane = zedGraphControl1.GraphPane; // titre et nomination des axes x et y myPane.Title.Text = "Histogramme"; myPane.XAxis.Title.Text = "Mois de l'année"; myPane.YAxis.Title.Text = "Chiffres d'Affaires"; string[] str = { "Janv.", "Févr.", "Mars", "Avr.", "Mai", "Juin", "Juill.", "Août", "Sept.", "Oct.", "Nov.", "Dec." }; // creation des batons BarItem myCurve = myPane.AddBar("Année " + (DateTime.Now.Year - 1).ToString(), null, ca, Color.Red); BarItem myCurve1 = myPane.AddBar("Année " + DateTime.Now.Year.ToString(), null, precCa, Color.Green); // Fill the axis background with a color gradient myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 45.0F); zedGraphControl1.AxisChange(); // expand the range of the Y axis slightly to accommodate the labels myPane.YAxis.Scale.Max += myPane.YAxis.Scale.MajorStep; // Create TextObj's to provide labels for each bar BarItem.CreateBarLabels(myPane, false, "f0"); // dessine les nouvelles valeurs de X à la place des anciennes myPane.XAxis.MajorTic.IsBetweenLabels = true; // appel du nouvel affichage des abcisses myPane.XAxis.Scale.TextLabels = str; // Mis en place du nouveau texte des abcisses myPane.XAxis.Type = ZedGraph.AxisType.Text; PointPairList hList = new PointPairList(); myPane.XAxis.Type = ZedGraph.AxisType.Text; // une graduation en X est egal à 1 mois myPane.XAxis.Scale.MajorStep = 1; myPane.XAxis.Scale.MajorUnit = DateUnit.Month; // Renverser les labels des abcisses de 65° myPane.XAxis.Scale.FontSpec.Angle = 65; myPane.XAxis.Scale.FontSpec.IsBold = true; myPane.XAxis.Scale.FontSpec.Size = 12; myPane.XAxis.Scale.Format = "M"; zedGraphControl1.Refresh(); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questiondataGridView1.DataSource = list; dataGridView1.Refresh();
namespace widget { public partial class Form1 : Form { DataSet ds = null; DataTable dt = null; int tickStart = 0; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string filePath = "http://www.beautefrance.com:8080/script/widget_statsvente.php"; XmlTextReader txtReader = new XmlTextReader(filePath); statsdataset.Clear(); statsdataset.ReadXml(txtReader); dataGridView1.DataSource = statsdataset; dataGridView1.DataMember = "stat"; // rendre invisibles les colonnes suivantes dataGridView1.Columns["ca_1"].Visible = false; dataGridView1.Columns["ca_2"].Visible = false; dataGridView1.Columns["ca_3"].Visible = false; dataGridView1.Columns["ca_4"].Visible = false; dataGridView1.Columns["ca_5"].Visible = false; dataGridView1.Columns["ca_6"].Visible = false; dataGridView1.Columns["ca_7"].Visible = false; dataGridView1.Columns["ca_8"].Visible = false; dataGridView1.Columns["ca_9"].Visible = false; dataGridView1.Columns["ca_10"].Visible = false; dataGridView1.Columns["ca_11"].Visible = false; dataGridView1.Columns["ca_12"].Visible = false; dataGridView1.Columns["ca_prec"].Visible = false; dataGridView1.Columns["ca_prec_1"].Visible = false; dataGridView1.Columns["ca_prec_2"].Visible = false; dataGridView1.Columns["ca_prec_3"].Visible = false; dataGridView1.Columns["ca_prec_4"].Visible = false; dataGridView1.Columns["ca_prec_5"].Visible = false; dataGridView1.Columns["ca_prec_6"].Visible = false; dataGridView1.Columns["ca_prec_7"].Visible = false; dataGridView1.Columns["ca_prec_8"].Visible = false; dataGridView1.Columns["ca_prec_9"].Visible = false; dataGridView1.Columns["ca_prec_10"].Visible = false; dataGridView1.Columns["ca_prec_11"].Visible = false; dataGridView1.Columns["ca_prec_12"].Visible = false; // suppression de la colonne vide de gauche; dataGridView1.RowHeadersVisible = false; // initialisation de la couleur du bouton, au chargement btn_stats.BackColor = Color.LightSkyBlue; // modif des titres dataGridView1.Columns["ca"].HeaderText = "Chiffre d'Affaires"; dataGridView1.Columns["nb_cmd"].HeaderText = "Nombre de Commandes"; dataGridView1.Columns["ca_mois"].HeaderText = "CA / Mois"; dataGridView1.Columns["ca_moyenne_jour"].HeaderText = "CA Moyen / Jour"; dataGridView1.Columns["prix_moyen_cmd"].HeaderText = "Prix Moyen Commande"; dataGridView1.Columns["prix_moyen_produit"].HeaderText = "Prix Moyen Produit"; // Mise en italique des valeurs dataGridView1.Columns[1].DefaultCellStyle.Font = new Font(Control.DefaultFont, FontStyle.Italic); // Couleur de separation des cellules dataGridView1.GridColor = Color.White; // on enleve le focus de selection this.dataGridView1.Rows[0].Selected = false; // Suppression des rangées d'entete dataGridView1.ColumnHeadersVisible = true; // appel des methodes de l'affichage vertical ds = new DataSet(); dt = new DataTable(); dt = GetStats(); ds.Tables.Add(dt); DataView my_DataView = ds.Tables[0].DefaultView; this.dataGridView1.DataSource = my_DataView; DataSet new_ds = FlipDataSet(ds); my_DataView = new_ds.Tables[0].DefaultView; this.dataGridView1.DataSource = my_DataView; //retourne le Graphique au chargement du widget CreerGraphique(zedGraphControl1); //rafraichissement de l'histogramme timer1.Interval = 50; timer1.Enabled = true; timer1.Start(); tickStart = Environment.TickCount; } // bouton "page 1" du datagridV. private void btn_stats_Click(object sender, EventArgs e) { string filePath = "http://www.beautefrance.com:8080/script/widget_statsvente.php"; XmlTextReader txtReader = new XmlTextReader(filePath); statsdataset.Clear(); statsdataset.ReadXml(txtReader); dataGridView1.DataSource = statsdataset; dataGridView1.DataMember = "stat"; // rendre invisibles les colonnes suivantes dataGridView1.Columns["ca_1"].Visible = false; dataGridView1.Columns["ca_2"].Visible = false; dataGridView1.Columns["ca_3"].Visible = false; dataGridView1.Columns["ca_4"].Visible = false; dataGridView1.Columns["ca_5"].Visible = false; dataGridView1.Columns["ca_6"].Visible = false; dataGridView1.Columns["ca_7"].Visible = false; dataGridView1.Columns["ca_8"].Visible = false; dataGridView1.Columns["ca_9"].Visible = false; dataGridView1.Columns["ca_10"].Visible = false; dataGridView1.Columns["ca_11"].Visible = false; dataGridView1.Columns["ca_12"].Visible = false; dataGridView1.Columns["ca_prec"].Visible = false; dataGridView1.Columns["ca_prec_1"].Visible = false; dataGridView1.Columns["ca_prec_2"].Visible = false; dataGridView1.Columns["ca_prec_3"].Visible = false; dataGridView1.Columns["ca_prec_4"].Visible = false; dataGridView1.Columns["ca_prec_5"].Visible = false; dataGridView1.Columns["ca_prec_6"].Visible = false; dataGridView1.Columns["ca_prec_7"].Visible = false; dataGridView1.Columns["ca_prec_8"].Visible = false; dataGridView1.Columns["ca_prec_9"].Visible = false; dataGridView1.Columns["ca_prec_10"].Visible = false; dataGridView1.Columns["ca_prec_11"].Visible = false; dataGridView1.Columns["ca_prec_12"].Visible = false; // suppression de la colonne vide de gauche; dataGridView1.RowHeadersVisible = false; // couleur des boutons lors de la pression btn_stats.BackColor = Color.LightSkyBlue; btn_comm.BackColor = Color.LightGray; // modif des titres dataGridView1.Columns["ca"].HeaderText = "Chiffres d'Affaires"; dataGridView1.Columns["nb_cmd"].HeaderText = "Nombres de Commandes"; dataGridView1.Columns["ca_mois"].HeaderText = "CA / Mois"; dataGridView1.Columns["ca_moyenne_jour"].HeaderText = "CA Moyen / Jour"; dataGridView1.Columns["prix_moyen_cmd"].HeaderText = "Prix Moyen Commande"; dataGridView1.Columns["prix_moyen_produit"].HeaderText = "Prix Moyen Produit"; // Mise en italique des valeurs dataGridView1.Columns[1].DefaultCellStyle.Font = new Font(Control.DefaultFont, FontStyle.Italic); // Couleur de separation des cellules dataGridView1.GridColor = Color.White; // on enleve le focus de selection this.dataGridView1.Rows[0].Selected = false; // Suppression des rangées d'entete dataGridView1.ColumnHeadersVisible = true; // appel des methodes de l'affichage vertical ds = new DataSet(); dt = new DataTable(); dt = GetStats(); ds.Tables.Add(dt); DataView my_DataView = ds.Tables[0].DefaultView; this.dataGridView1.DataSource = my_DataView; DataSet new_ds = FlipDataSet(ds); my_DataView = new_ds.Tables[0].DefaultView; this.dataGridView1.DataSource = my_DataView; } // BOUTON "PAGE 2" du datagridV. private void btn_comm_Click(object sender, EventArgs e) { string filePath = "http://www.beautefrance.com:8080/script/widget_cmdjour.php"; XmlTextReader txtReader = new XmlTextReader(filePath); comsdataset.Clear(); comsdataset.ReadXml(txtReader); dataGridView1.DataSource = comsdataset; dataGridView1.DataMember = "commande"; dataGridView1.Columns["id"].Visible = false; dataGridView1.Columns["statut"].Visible = false; // renommination des titres dataGridView1.Columns["date_com"].HeaderText = "DATE DE COMMANDE"; dataGridView1.Columns["total"].HeaderText = "TOTAL"; dataGridView1.Columns["type_paiement"].HeaderText = "PAIEMENT"; // redimensionnement des colonnes par rapport a la largeur du widget dataGridView1.Columns[1].Width = 85; dataGridView1.Columns[3].Width = 70; dataGridView1.Columns[4].Width = 54; // couleur des boutons lors de la pression btn_comm.BackColor = Color.LightSkyBlue; btn_stats.BackColor = Color.LightGray; dataGridView1.ColumnHeadersVisible = true; // appel de la methode cellFormating de la page 2 pour la colorisation des cellules dataGridView1.CellFormatting += dataGridView1_CellFormatting; } // couleur de cellules private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) { if (dataGridView1.Columns[e.ColumnIndex].Name == "date_com") { //Vérification de la valeur dans la colonne Statut if ((String)dataGridView1.Rows[e.RowIndex].Cells["statut"].Value == "1") { e.CellStyle.BackColor = Color.LightGreen; } else { e.CellStyle.BackColor = Color.Purple; } } } private static DataTable GetStats() { //Initialisation de notre dataTable afin d'inverser DataTable table = new DataTable(); table.TableName = "stats"; table.Columns.Add("ca", typeof(string)); table.Columns.Add("prix_moyen_produit", typeof(string)); table.Columns.Add("prix_moyen_cmd", typeof(string)); table.Columns.Add("ca_moyenne_jour", typeof(string)); table.Columns.Add("ca_mois", typeof(string)); table.Columns.Add("nb_cmd", typeof(string)); table.Rows.Add(new object[] { "295092.46", "16.08", "36.77", "957.47", "23936.63", "651" }); table.AcceptChanges(); return table; } public DataSet FlipDataSet(DataSet my_DataSet) { // methode qui inverse notre dataTable DataSet ds = new DataSet(); foreach (DataTable dt in my_DataSet.Tables) { DataTable table = new DataTable(); for (int i = 0; i <= dt.Rows.Count; i++) { table.Columns.Add(Convert.ToString(i)); } DataRow r; for (int k = 0; k < dt.Columns.Count; k++) { r = table.NewRow(); r[0] = dt.Columns[k].ToString(); for (int j = 1; j <= dt.Rows.Count; j++) { r[j] = dt.Rows[j - 1][k]; } table.Rows.Add(r); } ds.Tables.Add(table); } return ds; } private void zedGraphControl1_Load(object sender, EventArgs e) { CreerGraphique(zedGraphControl1); } private void CreerGraphique(ZedGraphControl zgc) { string filePath = "http://www.beautefrance.com:8080/script/widget_statsvente.php"; XmlTextReader txtReader = new XmlTextReader(filePath); statsdataset.Clear(); statsdataset.ReadXml(txtReader); dataGridView1.DataSource = statsdataset; dataGridView1.DataMember = "stat"; GraphPane myPane = zgc.GraphPane; // titre et nomination des axes x et y myPane.Title.Text = "Histogramme"; myPane.XAxis.Title.Text = "Mois de l'année"; myPane.YAxis.Title.Text = "Chiffres d'Affaires"; // Points de données double[] y0 = { 19827.12, 14928.46, 25272.96, 19623.87, 21904.70, 21048.11, 22198.30, 23601.44, 25253.49, 24434.42, 25627.56, 22124.15 }; double[] y1 = { 28275.62, 24057.57, 30730.60, 25599.90, 23995.63, 25427.58, 26232.15, 29093.91, 29657.87, 28085.00, 28692.82, 3668.93 }; string[] str = { "Janv.", "Févr.", "Mars", "Avr.", "Mai", "Juin", "Juill.", "Août", "Sept.", "Oct.", "Nov.", "Dec." }; // creation des batons BarItem myCurve = myPane.AddBar("Année 2009", null, y0, Color.Red); BarItem myCurve1 = myPane.AddBar("Année 2010", null, y1, Color.Green); // Fill the axis background with a color gradient myPane.Chart.Fill = new Fill(Color.White, Color.FromArgb(255, 255, 166), 45.0F); zgc.AxisChange(); // expand the range of the Y axis slightly to accommodate the labels myPane.YAxis.Scale.Max += myPane.YAxis.Scale.MajorStep; // Create TextObj's to provide labels for each bar BarItem.CreateBarLabels(myPane, false, "f0"); // dessine les nouvelles valeurs de X à la place des anciennes myPane.XAxis.MajorTic.IsBetweenLabels = true; // appel du nouvel affichage des abcisses myPane.XAxis.Scale.TextLabels = str; // Mis en place du nouveau texte des abcisses myPane.XAxis.Type = ZedGraph.AxisType.Text; PointPairList hList = new PointPairList(); myPane.XAxis.Type = ZedGraph.AxisType.Text; // une graduation en X est egal à 1 mois myPane.XAxis.Scale.MajorStep = 1; myPane.XAxis.Scale.MajorUnit = DateUnit.Month; // Renverser les labels des abcisses de 65° myPane.XAxis.Scale.FontSpec.Angle = 65; myPane.XAxis.Scale.FontSpec.IsBold = true; myPane.XAxis.Scale.FontSpec.Size = 12; myPane.XAxis.Scale.Format = "M"; } private void Form1_Resize(object sender, EventArgs e) { SetSize(); } private void SetSize() { // permet de laisser une marge de 10 pixels tout autour du graphique zedGraphControl1.Location = new Point(10, 10); zedGraphControl1.Size = new Size(ClientRectangle.Width - 20, ClientRectangle.Height - 20); } private void timer1_Tick(object sender, EventArgs e) { string filePath = "http://www.beautefrance.com:8080/script/widget_statsvente.php"; XmlTextReader txtReader = new XmlTextReader(filePath); statsdataset.Clear(); statsdataset.ReadXml(txtReader); dataGridView1.DataSource = statsdataset; zedGraphControl1.Refresh(); dataGridView1.DataMember = "stat"; if (zedGraphControl1.GraphPane.CurveList.Count <= 0) return; LineItem curve = zedGraphControl1.GraphPane.CurveList[0] as LineItem; if (curve == null) return; IPointListEdit list = curve.Points as IPointListEdit; if (list == null) return; double time = (Environment.TickCount - tickStart) / 1000.0; // 3 secondes par cycle list.Add(time, Math.Sin(2.0 * Math.PI * time / 3.0)); Scale xScale = zedGraphControl1.GraphPane.XAxis.Scale; if (time > xScale.Max - xScale.MajorStep) { xScale.Max = time + xScale.MajorStep; xScale.Min = xScale.Max - 30.0; } zedGraphControl1.AxisChange(); // forcer le redessinage du graphe zedGraphControl1.Invalidate(); } } }