我的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;
}
我可以看到表格中第一个学生的名字......有没有办法展示所有学生及其成绩?
答案 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;