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 に答える