Question

J'ai un jeu de données que j'ajoute que j'ajoute au graphique dans la boucle de Forache, comme suit et attribuant dtmonth datarow à xaxis de graphique, qui est le nom de mois:

                foreach (DataRow dr in dtMD.Rows)
                {

                    DataTable dtMDByName = ocw.GetMDByName(Convert.ToDateTime(txtStartDate.Text), Convert.ToDateTime(txtEndDate.Text), dr["MD"].ToString());

                    if (dtMDByName.Rows.Count > 0)
                    {
                        ChartSeries MDChartSeries = new ChartSeries();
                        MDChartSeries.Name = dtMDByName.Rows[0][1].ToString();
                        MDChartSeries.Type = ChartSeriesType.Line;

                        foreach (DataRow drByName in dtMDByName.Rows)
                        {
                            MDChartSeries.AddItem(Convert.ToDouble(drByName["T"]));

                            radMD.PlotArea.XAxis.DataLabelsColumn = drByName["dtMonth"].ToString();
                        }

                        radMD.ChartTitle.TextBlock.Text = "MDs";
                        radMD.PlotArea.XAxis.AutoScale = true;
                        radMD.Series.Add(MDChartSeries);

                    }
                }

Mais il montre toujours comme des nombres dans Xaxis, tout ce que je fais mal dans le code ci-dessus?

Même si je le fais en dehors de la deuxième boucle, le code suivant, il ne montre pas toujours les noms de mois:

radMD.PlotArea.XAxis.DataLabelsColumn = "dtMonth";

merci

Était-ce utile?

La solution

Découvert Vous devez définir AutoScale sur FALSE, puis ajouter TextBlock comme suit:

                              radMD.PlotArea.XAxis.AutoScale = true;
                                for (int i = 0; i < dtMDByName.Rows.Count; i++)
                                {
                                    radMD.PlotArea.XAxis[i].TextBlock.Text = dtMDByName.Rows[i][3].ToString();
                                }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top