Проблема с добавлением точки данных динамически в диаграмму. Нет значения отображается
Я пытаюсь изучить управление графиками в asp.net, но у меня возникли некоторые проблемы.
Все, что я хочу сделать, это сделать простую диаграмму столбца. Каждый столбец должен иметь имя. Я хочу манипулировать данными из базы данных в codebehind и добавить столбец в диаграмму с именем в этом столбце.
Примеры, которые я рассматриваю, добавляют их в файл.ascx. Делать то же самое в codebehind должно быть просто, но как-то это не работает. Вот пример, на который я смотрю:
<asp:Chart ID="chtNBAChampionships" runat="server">
<Series>
<asp:Series Name="Championships" YValueType="Int32" Palette="Berry" ChartType="Column"
ChartArea="MainChartArea" IsValueShownAsLabel="true">
<Points>
<asp:DataPoint AxisLabel="Celtics" YValues="0" />
<asp:DataPoint AxisLabel="Lakers" YValues=" />
<asp:DataPoint AxisLabel="Bulls" YValues="6" />
<asp:DataPoint AxisLabel="Spurs" YValues="4" />
<asp:DataPoint AxisLabel="76ers" YValues="3" />
<asp:DataPoint AxisLabel="Pistons" YValues="3" />
<asp:DataPoint AxisLabel="Warriors" YValues="3" />
<asp:DataPoint AxisLabel="Mara" YValues="4" />
<asp:DataPoint AxisLabel="Saza" YValues="9" />
<asp:DataPoint AxisLabel="Buha" YValues="6" />
</Points>
</asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="MainChartArea">
</asp:ChartArea>
</ChartAreas>
Я пытаюсь добавить точку данных в codebehind как это:
DataPoint dp = new DataPoint();
dp.AxisLabel = "Test";
dp.YValues = new double[18];
this.chtNBAChampionships.Series["Championship"].Points.Add(dp);
Но это только дает мне 0 на графике. Есть что-то очевидное, что я упускаю?
1 ответ
Решение
Это фрагмент кода, который я использую:
dp = new DataPoint(i++, value);
dp.AxisLabel = axisName;
dp.ToolTip = axisName;
dp.SetValueY(value);
dp.IsValueShownAsLabel = true;
s1.Points.Add(dp);
dp.XValue = s1.Points.Count;
где s1 - объект серии. Может быть, вам также нужно указать значение для X asis...