ASP:Chart control — круговая диаграмма привязки данных из таблицы данных

У меня есть таблица данных с двумя столбцами «Статус» (строка) и «Всего» (целое число).

 Status       Total
 Success      34
 Missing      2
 Failed       10

Я хочу привязать это к круговой диаграмме с каждым статусом на срез, но я не уверен, какой метод связывания данных требуется?

Спасибо, Джонси.


person iamjonesy    schedule 16.04.2010    source источник


Ответы (2)


Попробуйте это:

    DataTable dt = new DataTable();
    dt.Columns.Add("Status");
    dt.Columns.Add("Total");

    dt.Rows.Add("Success", 34);
    dt.Rows.Add("Missing", 2);
    dt.Rows.Add("Failed", 10);

    Chart1.DataSource = dt;
    Chart1.Series["Series1"].XValueMember = "Status";
    Chart1.Series["Series1"].YValueMembers = "Total";
    Chart1.DataBind();

Обновление: самый простой способ добавить легенду, вероятно, на стороне клиента:

<Legends>
    <asp:Legend ... />
</Legends>

Вы также можете добавить его программно:

    Chart1.Legends.Add("myLegend");
person Chris Van Opstal    schedule 16.04.2010
comment
это сработало, приятель! Благодарность! Еще одна вещь, если позволите :) как мне добавить легенду к диаграмме? - person iamjonesy; 16.04.2010

Сегодня я провел небольшое исследование и нашел эту статью лучшей.

Вот приведенный выше код С# (автор Chris), переведенный на VB.NET.

Наслаждаться!

Dim dt As New DataTable()
dt.Columns.Add("Status")
dt.Columns.Add("Total")

dt.Rows.Add("Success", 34)
dt.Rows.Add("Missing", 2)
dt.Rows.Add("Failed", 10)

Chart1.DataSource = dt
Chart1.Series("Series1").XValueMember = "Status"
Chart1.Series("Series1").YValueMembers = "Total"
Chart1.DataBind()
person Herb Meehan    schedule 03.04.2012