2014-12-12 2 views
0

Im пытается создать диаграмму из некоторых значений из базы данных.MVC Chart with IQueryable

До сих пор я хочу, чтобы создать таблицу со следующими значениями

public class Acqusition{ 
public double Sum {get; set;} 
public double Chance {get; set;} 

Так Кодекс я получил до сих пор:

var acquisitions = from ac in db.Acquisitions 
         select ac; 
foreach (var a in acquisitions) 
{ 
    sums.Add(a.Sum.ToString()); 
} 
foreach (var a in acquisitions) 
{ 
    chances.Add(a.Chance.ToString()); 
} 

if (acquisitions != null) 
{ 
    var key = new Chart(width: 600, height: 300) 
        .AddTitle("Acquisitions") 
        .AddSeries(
        chartType: "Bubble", 
        name: "AcquisitionChart", 
        xValue: new[] { chances[0], chances[1], chances[2] }, 
        yValues: new[] {sums[0], sums[1], sums[2]}); 
        //xValue: new[] { "Peter", "Andrew", "Julie", "Dave" }, 
        //yValues: chances); 

    return File(key.ToWebImage().GetBytes(), "image/jpeg"); 
} 

Я ищу представляет собой график, который отсортирован по значения шансов. Как-то у меня такое чувство, когда я знаю, что это решение довольно легко, но, похоже, я не понимаю.

PS: System.Web.Helpers.Chart это один им с помощью

приветствий

+0

отсортирован по значениям шансов, вы имеете в виду это: 'xValues: Шансы.OrderBy (c => c) .ToArray() '? –

+0

@JeffreyZhang kinda yes, но значение суммы нужно сортировать таким же образом, иначе в противном случае данные будут составляться на диаграмме. Я хочу отображать приобретения (1 пузырь для каждого приобретения) на диаграмме, отсортированной по шансу приобретения. – VIP

+0

Хорошо, что сортировка теперь довольно просто с помощью 'acquisitions = acquisitions.OrderBy (o => o.Chance);' Единственная проблема, с которой я сейчас ушла, заключается в том, как создать диаграмму, в которой отображаются все значения. – VIP

ответ

0

Вы можете попробовать это:

var acquisitions = from ac in db.Acquisitions 
        order by ac.Chance 
        select ac; 
foreach (var a in acquisitions) 
{ 
    chances.Add(a.Chance.ToString()); 
    sums.Add(a.Sum.ToString()); 
} 
+0

Спасибо, я сделал это сейчас немного иначе (см. Комментарий выше). Но проблема, с которой я все еще сталкиваюсь и не могу оглянуться, - это показать все значения на диаграмме. – VIP