Получение данных из Model или ViewModel для диаграммы в ASP.NET MVC 3 Razor с помощью помощников диаграммы - PullRequest
1 голос
/ 13 сентября 2011

Я хочу создать графическую диаграмму в бритве mvc 3, используя следующий код (спасибо DotNetJalps):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Helpers;

namespace CodeSimplifiedTest.Controllers
{
  public class HomeController : Controller
  {
    public ActionResult Index()
    {
        ViewBag.Message = "Welcome to ASP.NET MVC!";

        return View();
    }

    public ActionResult About()
    {
        return View();
    }

    public ActionResult DrawChart()
    {
        var chart = new Chart(width: 300, height: 200)
            .AddSeries(
                        chartType: "bar",
                        xValue: new[] { "10 Records", "20 Records", "30 Records", "40 Records" },
                        yValues: new[] { "50", "60", "78", "80" })
                        .GetBytes("png");
        return File(chart, "image/bytes");
    }
  }
}

Но

Я хочу получить значения xValues ​​и Yvalue изБаза данных SQL Server 2008 R2 ... какой код я должен поставить после xValue: и yValue: или какой-либо код в любом месте контроллера и просмотреть для получения данных из базы данных?Я попробовал контекст Entity Framework ... но это не сработало.

Спасибо

Ответы [ 2 ]

2 голосов
/ 10 июля 2012

Вот то, что я использую для построения диаграммы из dbContext из EF ....

public ActionResult PayorPieChart()
{
  string xx = activePhysicianID;

  ArrayList xValue = new ArrayList();
  ArrayList yValue = new ArrayList();

  XXXXXXX_MainEntities dbContext = new XXXXXXX_MainEntities();
  var results = dbContext.Payor.Where(rs => rs.PhysicianIdentity.Equals(xx));

  results.ToList().ForEach(rs => xValue.Add(rs.Identifier));
  results.ToList().ForEach(rs => yValue.Add(rs.Strength));

  var chart = new Chart(600, 300, ChartTheme.Blue);
  chart.AddSeries(chartType: "Pie", xValue: xValue, yValues: yValue);
  chart.AddTitle("Payor");
  chart.Write("png");

  return null;
}
0 голосов
/ 14 сентября 2011

Приведенная ниже ссылка объясняет, как использовать метод «DataBindTable», который связывает данные из модели. Здесь данные оформлены внутри модели. Вы можете получить данные с сервера SQL в модели внутри метода "GetChartData".

http://weblogs.asp.net/gunnarpeipman/archive/2010/10/10/asp-net-mvc-3-beta-built-in-support-for-charts.aspx

Надеюсь, это поможет !!

...