Member 13782342 Ответов: 0

Asp.net управление диаграммой привязка нескольких рядов 3 значения


Привет всем надеюсь с вами все в порядке мне нужна помощь для создания asp.net контрольные карты. Мне нужно создать две диаграммы.

График 1 - гистограмма с накоплением

У меня есть 3 атрибута status, date и saleAmount мне нужно создать диаграмму для отображения таких значений, как ось x( месяцы), ось y saleAmount и точка для отображения статуса и подсчета его.

Рис. 2 гистограмма с накоплением

У меня есть 2 атрибута date и sum saleAmount мне нужно создать диаграмму для отображения таких значений, как ось x( месяцы), ось y saleAmount и точка для отображения разных лет для каждого месяца.

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

Что я уже пробовал:

private void bind10()
    {
                //Fetch the Statistical data from database.
                string query = "SELECT status, DATEPART(Month, Date) as [Year], COUNT(weightedValue) as [Total]";
    query += " FROM SalesActivity INNER JOIN STATUS ON SalesActivity.Status_ID = STATUS.Status_ID  WHERE status IN ('Request for info', 'Quotation', 'Negotiating','Order Placed', 'Lost' )";
                query += " GROUP BY status, DATEPART(Month, Date)";
                DataTable dt = GetData(query);

    //Get the DISTINCT Countries.
    List<string> statuses = (from p in dt.AsEnumerable()
                              select p.Field<string>("status")).Distinct().ToList();

                //Loop through the Countries.
                foreach (string status in statuses)
                {

                    //Get the Year for each Country.
                    int[] x = (from p in dt.AsEnumerable()
                               where p.Field<string>("status") == status
                               orderby p.Field<int>("Year") ascending
                               select p.Field<int>("Year")).ToArray();

    //Get the Total of Orders for each Country.
    int[] y = (from p in dt.AsEnumerable()
               where p.Field<string>("status") == status
               orderby p.Field<int>("Year") ascending
               select p.Field<int>("Total")).ToArray();

    //Add Series to the Chart.
    Chart10.Series.Add(new Series(status));
                    Chart10.Series[status].IsValueShownAsLabel = true;
                    Chart10.Series[status].ChartType = SeriesChartType.StackedColumn;
                    Chart10.Series[status].Points.DataBindXY(x, y);

                    Chart10.Legends[0].Enabled = true;
                }
            }

0 Ответов