Telerik radChart x datacolumn não mostrando
-
12-12-2019 - |
Pergunta
Eu tenho um datatable que eu adicione ao gráfico no loop foreach como seguir e atribuir dtMonth datarow para o eixo x do gráfico, o que é que os nomes dos meses:
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);
}
}
mas, ainda assim, mostra como os números no eixo x, qualquer coisa estou fazendo de errado no código acima?
mesmo se eu não fora o segundo ciclo eu.e seguintes do código de ainda não mostra os nomes dos meses:
radMD.PlotArea.XAxis.DataLabelsColumn = "dtMonth";
Obrigado
Solução
descobri que você precisa para definir autoscale para false e, em seguida, adicionar textblock como a seguir:
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();
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow