2014-11-13 3 views
2

Я делаю проект с MVC в asp.net и C#. Мне нужно отобразить график ежегодных заказов. Заказы будут храниться в MySqlServer db. Пожалуйста, предложите мне любую идею, как это сделать.Создание диаграмм с asp.net

Еще одно требование - найти расстояние b/w 2 выбранных городов. Могу ли я сделать это в своей программе?

Заранее спасибо ..

ответ

0

ChartJS является довольно простым и настраиваемым инструментом для создания графики с. Просто поставьте данные через Json с вашего контроллера. Существует множество примеров того, как это сделать на своем сайте.

Чтобы рассчитать расстояние между городами, я предлагаю использовать Google's Map API

2

Если вы хотите больше Interactive Charts использования Highcharts для создания более интерактивных диаграмм в странице

Как @sebbzzz упоминался Для расчета расстояния между городами использовать Google Map API

Eg из Highcharts

3D Pie Chart 3D Pie Chart

Column Chart Column Chart

1

Возможно, что вы ищете this.

В данной статье рассматриваются элементы управления диаграммой Microsoft. Одна большая плюс - они могут использоваться как другие элементы управления, такие как TextBox или DropDownList или Repeater.

Смысл, вы можете сделать сервер сервера кодирования, и вы также можете иметь разметку aspx.

Вот некоторые примеры ASPX разметка:

<asp:Chart ID="ChartSalesA" runat="server" Width="350px" Height="250px" 
    OnClick="Chart_Click" AutoPostBack="true" 
    ToolTip="Previous 5 Weeks" BorderlineColor="Transparent"> 
    <Titles> 
     <asp:Title Font="Calibri, 11pt, style=Bold" Name="Title1" Text="Previous 5 Weeks"> 
     </asp:Title> 
    </Titles> 
    <Legends> 
     <asp:Legend Name="Default" Alignment="Center" BackColor="Lavender" BorderColor="Black" Docking="Bottom" LegendStyle="Row"> 
     </asp:Legend> 
    </Legends> 
    <Series> 
     <asp:Series ChartType="Column" ChartArea="MainChartArea" Name="Series1" Color="#9955ff" Legend="Default" LegendText="Sales" XAxisType="Primary" XValueMember="yourValueORID" PostBackValue="#VALX"></asp:Series> 
     <asp:Series ChartType="Line" ChartArea="MainChartArea" Name="Series2" YAxisType="Secondary" Legend="Default" Color="#99ccff" Enabled="True" LegendText="Customers" LabelBorderWidth="1" BorderWidth="3"></asp:Series> 
    </Series> 
    <ChartAreas> 
     <asp:ChartArea Name="MainChartArea" Area3DStyle-Enable3D="false"> 
      <AxisY Title="Weekly Sales"><LabelStyle Font="Calibri, 8pt" /></AxisY> 
      <AxisY2 Title="Weekly Customers" ><LabelStyle Font="Calibri, 8pt" /></AxisY2> 
      <AxisX Interval="1" IntervalType ="Weeks" IntervalAutoMode = "FixedCount" ><LabelStyle Font="Calibri, 8pt" /></AxisX> 
     </asp:ChartArea> 
    </ChartAreas> 
</asp:Chart> 

yourValueORID будет любой столбцом из данных вы являетесь обязательными к графике.

Вы можете обрабатывать Click события на стороне сервера, как показано ниже:

protected void Chart_Click(object sender, ImageMapEventArgs e) 
{ 
    //You will get your value from the XValueMember as below. 
    string x = Convert.ToString(e.PostBackValue); 
} 

Вы также можете сделать то же самое с YValueMember="yourValueORID" PostBackValue="#VALY", если вы хотите передать свой YValueMember в код позади.

0

Еще одна мощная графическая библиотека - Shield UI's - у них также есть компоненты обертки ASP.NET для разных функций диаграммы.

Смежные вопросы