MVC Chart Helper C#ASP

时间:2013-09-10 19:37:19

标签: c# asp.net-mvc-3 auto-update

我的MVC 3应用程序中有一个数据库,我正在尝试从中创建一个图表。有关如何从数据库表创建图表的文档不够彻底而且卡住了。我在网上广泛搜索,但每个人都在为他们的图表使用预定义的静态输入。我想要一个图表,一旦控制器更改数据就会更新。

到目前为止,这是我的代码: 我错过了什么?

    // Get: /Students/ShowData
    public ActionResult ShowData()
    {
        var key = new Chart(width: 600, height: 400)
       .AddSeries(chartType: "bar")
           .DataBindTable(b.Students.ToList())
       .Write();
        return null;
    }

如果我这样做:

// Get: /Students/ShowData
public ActionResult ShowData()
{
    Grade grade1 = db.Students.Find(1);
    var key = new Chart(width: 600, height: 400)
   .AddSeries(
       chartType: "bar",
       xValue: new[] { grade1.Name, "Feb", "Mar", "Apr", "May" },
       yValues: new[] { grade1.Grade.ToString() , "20", "40", "10", "10" })
       .DataBindTable(b.Students.ToList())
   .Write();
    return null;
}

我可以看到表格中第一个学生的名字......有没有办法展示所有学生及其成绩?

1 个答案:

答案 0 :(得分:0)

    Grade grade = new Grade();    
List<Grade> listGrade = new List<Grade>();
listGrade = grade.getData(); // getData(); return List of all student
List<String> nameList = new List<String>();
List<String> gradeList = new List<String>();
foreach(var item in listGrade)
{
nameList.Add(item.Name);
gradeList.Add(item.Grade);
}
IEnumerable<String> resultListName = nameList.ToList();
IEnumerable<String> resultListGrade = gradeList.ToList();
var key = new Chart(width: 600, height: 400)
   .AddSeries(
       chartType: "bar",
       xValue: resultListName},
       yValues: resultListGrade)
       .DataBindTable(b.Students.ToList())
   .Write();
    return null;