Проблема с добавлением точки данных динамически в диаграмму. Не отображается значение - PullRequest
0 голосов
/ 30 апреля 2011

Я пытаюсь изучить элемент управления графиками в 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 Ответ

0 голосов
/ 30 апреля 2011

Это фрагмент кода, который я использую:

        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 - объект Series. Может быть, вам также нужно указать значение для X asis ...

...