簡體   English   中英

將數據從控制器加載到圖表Jquery / MVC / C#

[英]Loading data from controller to chart Jquery/ MVC/ C#

我有以下控制器代碼將圖表數據返回給jquery。 更新:我已經按照建議修改了代碼,但是仍然出現錯誤。

 public JsonResult GetLeaveDataForPieChart(int user_id)
    {

        List<EmployeeLeaveHeader> elh1 = new List<EmployeeLeaveHeader>();
        List<ChartEvent> ch = new List<ChartEvent>();
        elh1 = itlbg1.EmployeeLeaveHeaders.Where(f => f.Employee_ID == user_id).ToList();

    foreach (var item in elh1)
    {
        ChartEvent ce = new ChartEvent();
        ce.value = (item.leaveAvailable * 100).ToString();
        ce.color = item.CompanyLeaves.LeaveTypes.color;
        ce.highlight = "#ffffff";
        ce.label = item.CompanyLeaves.LeaveTypes.typeDescription + " Leave Available";
        ch.Add(ce);

        ChartEvent ce1 = new ChartEvent();
        ce1.value = (item.leaveTaken * 100).ToString();
        ce1.color = item.CompanyLeaves.LeaveTypes.color_light;
        ce1.highlight = "#ffffff";
        ce1.label = item.CompanyLeaves.LeaveTypes.typeDescription + " Leave Taken";
        ch.Add(ce1);
    }



    return Json(ch, JsonRequestBehavior.AllowGet);

}

我需要在jquery中檢索數據,以便將其以必需的格式傳遞給餅圖數據。

(document).ready(function () {

    user_id = $("#user_id_1").text();
    $.ajax({
        url: '/Leave/GetLeaveDataForPieChart/',
        cache: false,
        data: { user_id: user_id },
        type: "GET",
        datatype: "json",
        success: function (data) {
            alert(data);
            var pieChartCanvas = $("#pieChart").get(0).getContext("2d");
            var pieChart = new Chart(pieChartCanvas);
            var PieData = $.each(data, function (idx, obj) {
                var leave = new Object();

                    leave.value = obj.value;
                    leave.color = obj.color;
                    leave.highlight = obj.highlight;
                    leave.label = obj.label;
                    alert(leave);
                    return leave;
                });

                    var pieOptions = {
    //pie options..

};

                pieChart.Doughnut(PieData, pieOptions);
            }
        });

誰能解釋如何將json數據轉換為要傳遞到餅圖的javascript對象?

這是將JSON字符串解析為對象的方法。

 var jsonObject = JSON.parse(jsonString);

這是您使用jquery來獲取數據並將其用於圖表的方式

 $.ajax({
        url: '/<Controller>/GetLeaveDataForPieChart/',
        cache: false,
        data: {  user_id: <UserID> },
        type: "GET",
        success: function (data, textStatus, xmlHttpRequest) {
            data = JSON.parse(data);
            //....
            //....
            //Chart
            //....
            //....
            //....
        }
    });   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM