0

我的 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;
}

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

4

1 回答 1

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;
于 2013-09-17T08:21:21.773 回答